Commit Graph

97 Commits

Author SHA1 Message Date
zach bethel
4c8c48b2cc Use a simple recursive mutex for render resource list to fix race condition when adding resources concurrently.
#preflight 646e7e5c1b241f0748600d6a

[CL 25624446 by zach bethel in ue5-main branch]
2023-05-25 13:32:58 -04:00
mihnea balta
6cc52ffd89 Removing incorrect LLM tag from BeginInitResource() introduced in CL 22230608.
Forcing a tag here is incorrect, as it will override the tag that's supposed to be set by the owner of the resource. For example, this attributed StaticMesh memory to the generic SceneRender tag.

#rb massimo.tristano
#preflight skip
#jira none
#rnx

[CL 25231351 by mihnea balta in ue5-main branch]
2023-04-28 09:47:16 -04:00
zach bethel
ade4e07b7a Refactored the global dynamic vertex buffer to support parallel usage.
#preflight 6441799027014596f3c9b1b0
#rb christopher.waters, luke.thatcher

[CL 25146384 by zach bethel in ue5-main branch]
2023-04-21 11:31:42 -04:00
Josie Yang
2f00d270c9 Define FName as static before passing to UE_TRACE_METADATA_SCOPE_ASSET_FNAME as FName lookup has performance impact.
Also rename AssetName to OwnerName to better describe what is stored.

#jira UE-167815
#rb Kenzo.Terelst
#preflight 641484d0691c5ebc159b2a5b

[CL 24714010 by Josie Yang in ue5-main branch]
2023-03-20 07:02:50 -04:00
Josie Yang
245b52ff57 Insight asset meta data tracking on DX12 buffers
#jira UE-167815
#rb Kenzo.Terelst
#preflight 640f3db928026468d93d1aa7

[CL 24652481 by Josie Yang in ue5-main branch]
2023-03-15 07:11:22 -04:00
josie yang
2289056981 Fix incorrect auto merge of CL23966262 causing duplicated OwnerName
[CL 23966886 by josie yang in ue5-main branch]
2023-02-02 08:46:21 -05:00
josie yang
c133d226e8 Integrate RenderResourceViewer from //UE5/Main
Part3 - Integrate CL23347911 as edigrate
Add owner column to Render Resource Viewer, add owner path name tracking to skeletal & static mesh buffers
with conflict resolve modifications in RawIndexBuffer.cpp/h, RenderResource.cpp/h, RHIResources.h

#preflight 63dab3e2cf5296811729fecd

[CL 23966872 by josie yang in ue5-main branch]
2023-02-02 08:45:12 -05:00
christopher waters
1f21b73b25 Ran IWYU on RHI and RenderCore, private only.
#preflight 63d358c85c69f453c1f79c37

[CL 23889591 by christopher waters in ue5-main branch]
2023-01-27 14:54:10 -05:00
christopher waters
5c36939f3a Dependency cleanup around RenderCore.h includes.
#preflight 63c1b21d1a06fc6105ef31c4

[CL 23688227 by christopher waters in ue5-main branch]
2023-01-13 17:25:01 -05:00
Josie Yang
f14eb91ef7 Remove game thread check on RHI resource set owner name. EngineTest can call on FSkinWeightVertexBuffer from other thread on consoles
#jira UE-172334
#preflight skip

[CL 23526201 by Josie Yang in ue5-main branch]
2022-12-15 08:52:27 -05:00
christopher waters
3b00d465a9 Reimplementing and correcting a backed out change that removes the header dependency on FResourceArrayInterface.
#preflight 63927786c415e8dc786e6e7f

[CL 23460971 by christopher waters in ue5-main branch]
2022-12-09 00:24:48 -05:00
bob tellez
838b34f3ed [Backout] - CL23454303
[FYI] christopher.waters
Original CL Desc
-----------------------------------------------------------------
Removing a lot of includes from RenderResource.h

#preflight 63924b059549ddaa2851034f

[CL 23460251 by bob tellez in ue5-main branch]
2022-12-08 21:23:27 -05:00
christopher waters
f3af3d734b Removing a lot of includes from RenderResource.h
#preflight 63924b059549ddaa2851034f

[CL 23460178 by christopher waters in ue5-main branch]
2022-12-08 21:20:03 -05:00
Josie Yang
6b3aaea739 Check for both GameThread & ParallelGameThread in render resource set owner name function
#jira UE-171491
#preflight 63906a1ebb6fefa47211767d

[CL 23426481 by Josie Yang in ue5-main branch]
2022-12-07 06:22:33 -05:00
christopher waters
f8f7ca2782 Moving the bulk of global rendering resources into GlobalRenderResources.h.
Not fully deprecating includes yet.

#preflight 638eba1fc0652bbec2335106

[CL 23421741 by christopher waters in ue5-main branch]
2022-12-06 19:47:11 -05:00
Josie Yang
29addcedba Remove game thread check in FRenderResource::SetOwnerName as it can be called from other threads on some platforms
#jira UE-167816
#preflight skip

[CL 23411753 by Josie Yang in ue5-main branch]
2022-12-06 12:54:15 -05:00
christopher waters
fcfd8d3c58 Fixing CIS after manual merge.
[CL 23380413 by christopher waters in ue5-main branch]
2022-12-02 18:02:46 -05:00
christopher waters
e73b6cb859 Moving all RenderResource implementations in RenderResource.h into the cpp file for future forward declaration.
#preflight 638a62334c3ce8ae5d325aff

[CL 23380402 by christopher waters in ue5-main branch]
2022-12-02 18:02:29 -05:00
christopher waters
56465bfef0 Moving some utility functions out of RenderResource and into RenderUtils.
#preflight 638a505f4c3ce8ae5d2e174c

[CL 23378959 by christopher waters in ue5-main branch]
2022-12-02 16:36:00 -05:00
christopher waters
6ae040165a Moving FRayTracingGeometry into its own header+source files. FRayTracingGeometry can't forward declare its RHI members yet, so we need it in its own header to remove those dependencies from RenderResource.h
#rb tiago.costa
#preflight 63897bc0976b1644cb2f7450

[CL 23377483 by christopher waters in ue5-main branch]
2022-12-02 15:09:41 -05:00
Josie Yang
3612580418 Add owner column to Render Resource Viewer, add owner path name tracking to skeletal & static mesh buffers
#jira UE-167816
#rb jeremy.moore, jason.nadro, christopher.waters
#preflight 63865f947b4bd3f057a4e40b

[CL 23347911 by Josie Yang in ue5-main branch]
2022-12-01 05:27:05 -05:00
aleksander netzel
5fb13876bb Add proper support for streamed geometries (geometries initialized as StreamingDestination) when dynamic ray tracing is enabled:
* Add FRayTracingGeometry::EGeometryStateFlags for tracking the state instead of several bools:
 - Add new state for tracking if the geometry was streamed in - its primary use is for dynamic ray tracing.
 - When ray tracing is toggled on at runtime we only recreate geometries that were marked as streamed in.
* Streamed geometries have to be created in a different way than regular geometries:
 - Creating geometry with StreamingDestination type will not allocate any memory for BLAS buffers.
 - Those can only be initialized by InitRHIForStreaming from temporary geometry with a StreamingSource type
 - Added FRayTracingGeometry::InitRHIForDynamicRayTracing() to handle both StreamingDestination and Rendering
  - For StreamingDestination it will do similar steps as normal mesh streaming does.
* Add missing RayTracingGeometry initialization when dynamic ray tracing was enabled but ray tracing was disabled.

#rb tiago.costa, yuriy.odonnell
#preflight 6372245ebf76990b71f5d021

[CL 23116977 by aleksander netzel in ue5-main branch]
2022-11-14 08:48:54 -05:00
aleksander netzel
c07eb3fff0 Initial support for switching ray tracing on/off at runtime:
* Split IsRayTracingEnabled() into 2 parts: IsRayTracingEnabled() which can be changed at runtime and IsRayTracingAllowed() for checking if ray tracing can be enabled.
* r.Raytracing can now have following values: 0 - disabled, 1 - enabled all the time, 2 - enabled dynamic
* When ray tracing is dynamic, RayTracingGeometryManager will collect all FRayTracingGeometry and allocate/release RHI objects as needed depending on if ray tracing is enabled or not.
* Ray tracing can be switched on/off with r.Raytracing.Enable (default is 1).
* Add support to most features used in CitySample/Lyra for switching ray tracing at runtime.
* TODO: Hair geometries are not yet released.

#rb yuriy.odonnell
#preflight 634feac68176062ea7da933f

[CL 22622885 by aleksander netzel in ue5-main branch]
2022-10-19 09:00:41 -04:00
elizabeth baumel
5c94e27b3c Add missing LLM tracking tags. Went from >40000 untagged allocations to about 4400 in QA game. Most of the untagged allocations were CVars. The remaining untracked allocations are largely from dynamic initializers and static/const data.
#rb kenzo.terelst
#jira UE-155266
#jira UE-155196
#preflight 6334ab8eee7b13756dcee727

[CL 22240429 by elizabeth baumel in ue5-main branch]
2022-09-28 22:21:04 -04:00
florin pascu
2ff00a89a2 Fix RT for other platforms besides PC
#rb Aleksander.Netzel
#jira none
#preflight 6321be4c29254beccbc5c4bd

[CL 22008205 by florin pascu in ue5-main branch]
2022-09-14 11:35:13 -04:00