82 Commits

Author SHA1 Message Date
Michael Galetzka
28a20a8c08 Fixed missing non-unity includes
#jira UE-183494
#rb none

[CL 26728583 by Michael Galetzka in 5.3 branch]
2023-07-31 21:12:23 -04:00
Michael Galetzka
b0c75c7853 Reset cached scene velocity to prevent motion blur when reusing components
#jira UE-183494, UE-184022
#rb stu.mckenna, jeremy.moore

[CL 26727462 by Michael Galetzka in 5.3 branch]
2023-07-31 20:19:08 -04:00
zach bethel
003552b730 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 26183746 by zach bethel in 5.3 branch]
2023-06-22 11:25:09 -04:00
zach bethel
d76121ec66 Fixed nonunity build break.
[CL 26099673 by zach bethel in 5.3 branch]
2023-06-19 15:01:10 -04:00
zach bethel
c716a9d71b Deprecated InitRHI() in favor of InitRHI(FRHICommandListBase&).
#rb mihnea.balta, luke.thatcher, christopher.waters

[CL 26097154 by zach bethel in 5.3 branch]
2023-06-19 14:00:50 -04:00
christopher waters
2e43024210 Making FRayTracingGeometryInitializer not a memory layout type since nothing needs it like that anymore.
#rb yuriy.odonnell

[CL 26035656 by christopher waters in 5.3 branch]
2023-06-16 01:19:06 -04:00
marc audy
d1f48fc5c8 Fix implicit capture of this using [=] deprecated in C++20
#jira
#rnx

[CL 25989494 by marc audy in ue5-main branch]
2023-06-14 15:07: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
Zhenglin Geng
f210dfde0a GeometryCacheConstantTopologyWriter: fix signed/unsigned mismatch
#jira none
#rb trivial

[CL 25862982 by Zhenglin Geng in ue5-main branch]
2023-06-07 20:03:55 -04:00
Zhenglin Geng
9679b35ffb Add GeometryCacheHelper to save geometrycache in engine
#rb anousack.kitisa, john.vanderburg
#jira none

[CL 25848629 by Zhenglin Geng in ue5-main branch]
2023-06-07 12:40:36 -04:00
stu mckenna
b4f0d2bcb3 - Use initializer list for AttributeBindings as not all have correct reserve sizes
#rb rob.krajcarski
#preflight 6478d0c37a6aeda41b4da81a

[CL 25738233 by stu mckenna in ue5-main branch]
2023-06-01 15:54:04 -04:00
Wojciech Krywult
d1baf24722 AsyncIO: Fixed incorrect handling of the STAT_AsyncFileMemory stat.
I've reviewed all code using async requests and we had multiple places incorrectly handling the stat: some placed failed to decrease the counter, while others would decrease it when they shouldn't. The main cause was the fact that when we create an async request and pass nullptr as the target memory, the request allocates the memory itself and increases the STAT_AsyncFileMemory. However, when we call GetReadResults() on such requests, the responsibility is on the caller to balance the calls and decrease the stat, which is not very obvious and leads to the mentioned bugs. On top of that, when we call GetReadResults() we may not have the knowledge as to whether the returned memory was allocated by the request or not (which may affect whether we should touch the stat at all).

Resolved by adding IAsyncReadRequest::ReleaseMemoryOwnershipImpl member, which may be used by request implementations to do the proper clean up (balance the stat). This way requests take the full responsibility for their changes and users of the requests don't need to know their implementation details.

#preflight none
#rb Patrick.Laflamme
#jira UE-185064

[CL 25664733 by Wojciech Krywult in ue5-main branch]
2023-05-29 12:11:37 -04:00
stu mckenna
5dce276366 - Add emitter mode support for Geometry Cache Array Index
#rb michael.galetzka
#rnx
#preflight 646f87e7d1157dc4a7722498

[CL 25645043 by stu mckenna in ue5-main branch]
2023-05-26 12:15:10 -04:00
stu mckenna
83ace92a70 - Add MIC support to Geometry Cache Renderer
#rb michael.galetzka
#preflight 646e6dae1417daba1e0633d8

[CL 25632022 by stu mckenna in ue5-main branch]
2023-05-25 18:13:44 -04:00
daniel coelho
74cd9be0a8 GeometryCache: Expose streamer settings to Python so that we can test things during streaming from automated tests.
#jira UE-186747
#rb Anousack.Kitisa
#preflight 646f33fc1417daba1e551b5e

[CL 25618385 by daniel coelho in ue5-main branch]
2023-05-25 06:42:49 -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
stu mckenna
2ceb41d213 - Geometry Cache Renderer Updates
- Emitter mode support added
- Material Bindings added

#rb simon.tovey
#jira UE-181402
#rnx
#preflgiht 6461b199cf788a2558e9368f

[CL 25476761 by stu mckenna in ue5-main branch]
2023-05-15 13:49:59 -04:00
Anousack Kitisa
02d9460ee4 GeometryCache: Exposed MovieSceneGeometryCacheParams properties to Blueprint.
#jira UE-185883
#rb trivial
#preflight 646254d4d1563ab43c52da26

[CL 25475136 by Anousack Kitisa in ue5-main branch]
2023-05-15 12:05:58 -04:00
bryan sefcik
91c57d395e Removed redundant module includes.
#preflight 645d4bf3aa3c584c0b5b3a67

[CL 25435653 by bryan sefcik in ue5-main branch]
2023-05-11 16:48:21 -04:00
stu mckenna
a90ed8bfe4 - Add support for none particle bindings to geometry cache renderer
- Move accessor into properties to reduce CPU cost for each renderer

#rb rob.krajcarski
#jira UE-178014
#preflight 644ac1e8877716c87873d161

[CL 25240311 by stu mckenna in ue5-main branch]
2023-04-28 16:40:17 -04:00
jaime cifuentes
d9fb5efbd1 Truncation fixes for AlembicLibrary
#rb Thomas.Sarkanen
#jira UE-183903
#preflight 6443cfb4f030f684d55a0b91

[CL 25161751 by jaime cifuentes in ue5-main branch]
2023-04-24 06:26:29 -04:00
daniel coelho
97398db93d USD: Use AssetUserData instead of AssetImportData for better runtime support;
Implement IInterface_AssetUserData for UGroomCache and UGeometryCache.

#jira none
#preflight 6443c1f30206a6e20fc2ffc5
#rb Anousack.Kitisa

[CL 25157830 by daniel coelho in ue5-main branch]
2023-04-22 07:35:05 -04:00
max chen
5332e3e78f Sequencer: Allow track editors if it's supported by the sequence (and not just by level sequence)
Fix regression caused by track permissions 20284129

#preflight 6438708fec219759f5d9c8ce
#rb andrew.rodham, austin.crismore
#jira UE-183270

[CL 25035757 by max chen in ue5-main branch]
2023-04-13 20:44:27 -04:00
jeannoe morissette
7fbce517d1 RHI: Fix assert in CIS where EBufferType::Typed buffers had no format specified.
#rb Luke.Thatcher
#preflight 6436fb2d0c4277fc0bc70583
#rnx

[CL 25012466 by jeannoe morissette in ue5-main branch]
2023-04-12 15:03:42 -04:00
Luke Thatcher
e6b40d3954 Major refactor of RHICreateShaderResourceView and RHICreateUnorderedAccessView functions - Merging //UE5/Dev-ParallelRendering (up to CL 24988990) to //UE5/Main
This changelist is a merge of work done in //UE5/Dev-ParallelRendering to remove tech debt in the SRV/UAV create functions. See individual changelist descriptions in that stream for further details, but a summary of the change is as follows:
 - We had multiple overloads of each of the RHICreateShaderResourceView and RHICreateUnorderedAccessView functions. Each function had a different set of supported view types and using them was complicated / ambiguous.
 - There's now only 2 create functions, and a common FRHIViewDesc descriptor struct, which is stored on the base view class.

 - FRHIView takes a reference on the underlying resource, ensuring that RHI views keep their viewed resource alive. This was not the case on some platforms, since it was previously the platform RHI implementation's responsibility.
 - Platform RHI implementations resolve an FRHIViewDesc into a full FViewInfo struct using GetViewInfo. This centralizes the logic for computing num mips / num slices / format etc so it is the same across all platforms.

 - Views must never be created with nullptr resources. This used to happen in the mesh streamer, but now all views require a real underlying resource. That resource can be a "BUF_NullResource" buffer, which is what the mesh streamer uses as a placeholder for buffers that have not streamed yet.
 - We will eventually replace FRHITextureReference with a "null texture", similar to how BUF_NullResource works for buffers. This is not yet implemented, so there is no "null view" of a texture currently.

#rb kenzo.terelst,jeannoe.morissette,dmitriy.dyomin
#preflight 643534642855180717af410e
#jira none

[CL 24989901 by Luke Thatcher in ue5-main branch]
2023-04-11 08:59:21 -04:00