Commit Graph

948 Commits

Author SHA1 Message Date
christopher waters
4b57998013 Set all parameters and resources for SetShaderParameters in a single RHI command
- Expands all RDG and non-RDG bindings into a list of RHIResource bindings.
- Future work could batch up all non-SetShaderParameters calls into similar data structures.

#rb zach.bethel, jeannoe.morissette
#preflight 637320ad3248425305112b91

[CL 23147896 by christopher waters in ue5-main branch]
2022-11-15 19:41:53 -05:00
Arciel Rekman
fd428a2ec2 Fix texture array resolve in D3D11.
#rb Rob.Srinivasiah
#preflight none
#jira prerequisite for UE-168931

[CL 23140849 by Arciel Rekman in ue5-main branch]
2022-11-15 14:57:30 -05:00
joe pribele
0f3e322ac0 [WindowsPlatformFeatures] removed WINDOWSPLATFORMFEATURES_DEBUG, WINDOWSPLATFORMFEATURES_START, and WINDOWSPLATFORMFEATURES_END
no need for more macro to enable debugging use regular macros to disable optimizations
#rb devin.doucette
#preflight 63727efbbf76990b710f07d2

[CL 23121752 by joe pribele in ue5-main branch]
2022-11-14 13:15:54 -05:00
zach bethel
cbb47cc53d Always make a copy of texture update data in D3D11. Fixes issue where memory is stale when the command is later run.
#jira none
#preflight none

[CL 23101400 by zach bethel in ue5-main branch]
2022-11-11 13:19:01 -05:00
luke thatcher
67c1b93a5e Fix RT / RHIT stats
- The RHI and render threads are now blocking on FGraphEvents in various platform RHI implementations, but the timing stats did not take this time into account.
 - Some time was double counted (e.g. on the render thread, due to a FRenderThreadIdleScope plus a nested call to FEvent::Wait which includes a per-thread wait stat).

 - The fix is to remove use of GRenderThreadIdle / FRenderThreadIdleScope etc in places where the thread is going to wait on an FGraphEvent, to avoid the double counting. This fixes the odd spikes on the RHIT in CSV profiles.
 - Also removed the GWorkingRHIThreadStallTime global. RHI idle time is now tracked using standard thread stats (FThreadIdleStats::FScopeIdle, which is included in the FRenderThreadIdleScope when called from the RHI thread).

 - Simplified copy/paste instances of GRenderThreadIdle and GRenderThreadNumIdle by replacing them with a FRenderThreadIdleScope across platform RHIs.

After this change, the RT and RHIT unit stats are stable in Lyra game, when clicking away from the window to force the title into a low framerate mode. Before this change, the RT/RHIT stats would change significantly.

#rb Ben.Woodhouse
#preflight 636ad7c3450be1d9f849a34f

[CL 23069592 by luke thatcher in ue5-main branch]
2022-11-09 20:58:40 -05:00
christopher waters
82820de64c Updating Aftermath to version 2.18
Force removing uses of GFSDK_Aftermath_FeatureFlags_EnableShaderErrorReporting to hopefully prevent the new GPU crashes we saw last time.

#jira none
#rb mihnea.balta, jeannoe.morissette
#preflight 636a7e03ed07daaa9a13a655

[CL 23056131 by christopher waters in ue5-main branch]
2022-11-09 11:43:48 -05:00
zach bethel
7dd9de3f39 Refactored UpdateTexture2D, UpdateFromBufferTexture2D, and UpdateTexture3D to take a non-immediate command list.
- Added explicit SwitchPipeline calls to async command lists.
 - Moved pipeline push / pop calls from platform implementations to RHI command list.

#rb christopher.waters
#preflight 636937204d3c1d9d9264ce7b

[CL 23012810 by zach bethel in ue5-main branch]
2022-11-07 12:18:59 -05:00
christopher waters
fa029ac1c8 Removing ControlPointPatchList enum values. Tesselation support was removed in 5.0 so these don't need deprecation.
#jira UE-168859
#rb luke.thatcher, jeannoe.morissette
#preflight 63653402d308b70e66549067

[CL 22989634 by christopher waters in ue5-main branch]
2022-11-04 12:45:16 -04:00
Zak Middleton
73efd27f6c #ue5 - Truncation fixes for modules:
StatsViewer
StatusBar
TargetDeviceServices
TargetPlatform
Teleporter
TimeManagement
TranslationEditor
ViewportInteraction
Virtualization
WindowsPlatformFeatures
WindowsTargetPlatform

#jira UE-160837, UE-160843
#rb Andrew.Davidson, Dave.Jones2
#preflight 636024751c75ff834a526197

[CL 22873932 by Zak Middleton in ue5-main branch]
2022-10-31 18:33:27 -04:00
christopher waters
d79d05267e Removing more D3D11RHI/Private include paths and RHICore dependencies.
#jira none
#rb joe.kirchoff
#preflight 635c4473a27fb703be66fcbd

[CL 22839043 by christopher waters in ue5-main branch]
2022-10-28 17:41:02 -04:00
stu mckenna
3d4ce557a8 - Add support to get the maximum number of bytes we can store in a constant buffer
#rb mihnea.balta
#jira UE-164938
#preflight 63472aea8d665d55d05bb7b4
#rnx
#lockdown Mihnea.Balta

[CL 22511657 by stu mckenna in ue5-main branch]
2022-10-13 16:39:16 -04:00
Wei Liu
eaa861bf95 Add LinearFilter texture capability flag to fix an issue that R16G16_UNORM doesn't work with linear filter on some mali devices.
#jira none

#rb Dmitriy.Dyomin, Carl.Lloyd,Brian.White, Kenzo.Terelst, Luke.Thatcher
#preflight 63450335c272487ed494be67

[CL 22451147 by Wei Liu in ue5-main branch]
2022-10-11 02:01:07 -04:00
ionut matasaru
6ea6262a9f Fixed Horde issue #220116 and issue #220129 (using ELLMTag enum when LLM is not enabled).
#rb trivial
#preflight skip
#lockdown mark.lintott

[CL 22329055 by ionut matasaru in ue5-main branch]
2022-10-04 08:34:24 -04:00
ionut matasaru
b741717ed1 [Insights] Added memory tracing for D3D11 and D3D12 (using the "video memory" root heap / address space) to match LLM stats.
#jira UE-164478
#rb Kenzo.Terelst
#preflight 633b0db63629a1a4f9228da3

[CL 22323403 by ionut matasaru in ue5-main branch]
2022-10-03 21:14:32 -04:00
mihnea balta
3942675610 Perform driver version checks before initializing the RHI device.
The driver version is logged and checked after the RHI instance is created, before calling GDynamicRHI->Init(). This worked on D3D11 and 12 without many changes because those RHIs select the adapter before the Init call, so they can fill in the information necessary for GetGPUDriverInfo() before Init. However, the Vulkan RHI init code had to be restructured quite a bit to do the same thing.

Also removed some obsolete hardcoded driver version checks from the Vulkan RHI, since we have better checks in RHIDetectAndWarnOfBadDrivers().

#rnx
#preflight https://horde.devtools.epicgames.com/job/632b408b7b582f58abce036e

[CL 22305628 by mihnea balta in ue5-main branch]
2022-10-03 11:35:55 -04:00
luke thatcher
ff6fb42c72 Fix clang compile error
#rb none
#preflight skip
#jira none

[CL 22262798 by luke thatcher in ue5-main branch]
2022-09-29 23:43:32 -04:00
luke thatcher
0c5c2b3e27 Merging //UE5/Dev-ParallelRendering (up to CL 22203289) to //UE5/Release-5.1
This change includes significant refactor work performed in //UE5/Dev-ParallelRendering. A brief summary of the work is as follows:

Refactored RHI command lists
 - Removal of the "immediate" async compute command list
 - Introduced an "active pipe" on each command list, allowing RHICmdLists to record work for either graphics or async compute. Pipes can be selected using the SwitchPipeline() function, or the FRHICommandListScopedPipeline helper.
 - New explicit command list submission RHI API (RHIFinalizeContext, RHISubmitCommandLists). The IRHICommandContextContainer type has been removed.
 - Explicit GPU submission is automatically appended to the immediate command list when it is dispatched to the RHI thread.

Platform RHI implementations
 - The new submission API has been implemented across all platforms. Some platforms required a significant refactor.

#rb Mihnea.Balta,Kenzo.Terelst
#jira UE-139550
#preflight 6332e3641003050806d802ef

[CL 22239063 by luke thatcher in ue5-main branch]
2022-09-28 21:40:05 -04:00
benjamin rouveyrol
756b664c35 change log verbosity for SetColorSpace1 since it can happen frequently in editor
#jira none
#rb eric.mcdaniel
#preflight 6328629a7436146514285d29

[CL 22086472 by benjamin rouveyrol in ue5-main branch]
2022-09-19 21:18:35 -04:00
zach bethel
d607384103 Added debug logging for streamable textures to D3D11 to catch invalid args from streamable asset.
[REVIEW] Elizabeth.Bunner

[CL 22084509 by zach bethel in ue5-main branch]
2022-09-19 19:45:11 -04:00
Thomas Engel
f389bb820a Adding HDR playback capabilities to MediaFrameWork & Electra (PC, GDK, PS4, PS5)
#jira UE-163865
#fyi jens.petersam
#preflight 632357cdc225e8be3809214e

[CL 22034307 by Thomas Engel in ue5-main branch]
2022-09-15 14:30:21 -04:00
benjamin rouveyrol
1c50f5565d Allow HDR to be enabled by default in editor: One needs to set:
Editor.HDRSupport=1
r.AllowHDR=1
bUseHDRDisplayOutput=True (in the game user settings) or r.HDR.EnableHDROutput=1

#jira UE-161417
#preflight 6321fc098838676d104cd290
[REVIEW] David.Harvey eric.renaudhoude mihnea.balta

[CL 22031753 by benjamin rouveyrol in ue5-main branch]
2022-09-15 13:05:33 -04:00
Andriy Tylychko
6b7a075ba7 FCoreDelegates cleanup: removed delegate macros
#preflight 632072f947741a7dbd03e2c1
#rb steve.robb

[CL 21981540 by Andriy Tylychko in ue5-main branch]
2022-09-13 09:08:26 -04:00
elizabeth baumel
b69514324c LLM was tracking all buffer types as "Meshes" in d3d11. Remove that tracking so the Meshes tag shows a comparable amount of memory usage as it does in d3d12.
#jira UE-151368
#rb christopher.waters
#preflight 631fb07980642a7fa78f244a

[CL 21974401 by elizabeth baumel in ue5-main branch]
2022-09-12 18:37:13 -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
cb0456c6d4 Cleaned up build.cs files by removing any include paths that were already being added by UBT. This was done to help identify how include paths are being added and to help with future refactoring.
#jira
#preflight 631a5c04967ffc68fbf0dd8f

[CL 21911226 by bryan sefcik in ue5-main branch]
2022-09-08 21:44:02 -04:00