cleaned recent removal of AudioThread
removed `StatsThread` and `AudioThread` from ENamedThreads
renamed FPlatformAffinity::GetAudioThreadMask() to GetAudioRenderThreadMask() as it's still used for AudioRenderThread
#preflight 6393383ac709c7275629d513
#rb francis.hurteau
#preflight 63970ef35624e6da5e3f4d5e
[CL 23476743 by Andriy Tylychko in ue5-main branch]
We create a temporary d3d device before calling AMD AGS as it will not check the DriverStore without an initialized device when agsDriverExtensionsDX11_CreateDevice is called. We then destroy the temporary device. According to AMD this requirement is currently by design.
#jira UE-159079
#rb self
#fyi Luke.Bermingham, Mattias.Jansson, Aidan.Possemiers, Christopher.Waters
#preflight 6396b5539549ddaa283e0442
[CL 23475694 by William Belcher in ue5-main branch]
Updated the RHI code to use the new WITH_NVAPI and WITH_AMD_AGS defines.
#jira
#rb elizabeth.baumel
#preflight 639372425c5308d18c3b22e3
[CL 23467188 by bryan sefcik in ue5-main branch]
- All platforms were extending FBaseShaderResourceTable to add a TArray<uint32> TextureMap member, along with copies of the same RHI code to bind these resources.
- Moved the TextureMap member into the base shader table type, and removed all platform versions. They are all serializer-compatible with the original code, so no shader DDC keys need to be bumped.
- Also moved the "ResourceTable" array of RHI resources into the base FRHIUniformBuffer class.
- Added a SetResourcesFromTables function in RHICoreShader.h
Removed GetD3D11TextureFromRHITexture in D3D11RHI, replaced with a ResourceCast.
- The ResourceCast function for FRHITexture types now always follows the texture reference pointer via the vtable call, like other platforms.
#jira none
#rb Chris.Waters
#preflight 637e6cd43377450900f10fd2
[CL 23252815 by Luke Thatcher in ue5-main branch]
- Replaced with a common UE::RHICore::CopySharedMips function that relies on RHICopyTexture, which is already implemented for all platforms.
- Global scope / command list versions of RHICopySharedMips are deprecated, and forward to the new implementation.
Added an RHI test for RHICopyTexture on a 3D texture.
- Fixed a handful of platform RHI bugs where RHICopyTexture failed on 3D textures with mips.
#rb Chris.Waters,Mihnea.Balta
#preflight 637d5d8af514e1ded92d5db3
#jira none
[CL 23247686 by Luke Thatcher in ue5-main branch]
- Implemented using a common RHI function that implements the copy using RHICopyTexture (all platforms will use this function in a future change, and RHICopySharedMips will be removed).
#rb tbd
#preflight 637b90eff514e1ded98d3799
[CL 23227985 by luke thatcher in ue5-main branch]
- 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]
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]
- 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]
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]
- 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]