Commit Graph

960 Commits

Author SHA1 Message Date
Andriy Tylychko
0ee6fe96bf Renamed "TaskGraph" module to "ProfileVisualizer"
#rb ionut.matasaru
#preflight 639723c59549ddaa285724f3

[CL 23476968 by Andriy Tylychko in ue5-main branch]
2022-12-12 08:20:32 -05:00
Andriy Tylychko
d48f6660b8 removed StatsThread as it's not used anymore
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]
2022-12-12 07:33:07 -05:00
William Belcher
95d70ae9b6 Fix to add DX11 support for AMF encoding. NOTE: This change was originally approved in stream Release-5.1 (https://p4-swarm.epicgames.net/reviews/21212427) but was not approved in time for 5.1, hence it's re-submission into Main for 5.2.
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]
2022-12-12 00:22:25 -05:00
bryan sefcik
c807984021 Fixed a CIS compile issue found on a non-windows platform.
#jira
#preflight 639392b60d013d47ef3996f5

[CL 23468126 by bryan sefcik in ue5-main branch]
2022-12-09 15:12:23 -05:00
bryan sefcik
fac575b94f AMD_AGS and NVAPI modules to set a public define for when the features are on or off.
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]
2022-12-09 14:37:14 -05:00
christopher waters
3b198674dd Moving IsHDREnabled and IsHDRAllowed to HDRHelper.h
Removing the unused FVirtualTextureUniformData type.

#preflight 63911ae87e0feab0b7f219af

[CL 23443276 by christopher waters in ue5-main branch]
2022-12-08 00:47:08 -05:00
christopher waters
951191d7c5 Moving TBoundShaderStateHistory into RHICore.
#preflight 63891db39242c01326e94756

[CL 23367537 by christopher waters in ue5-main branch]
2022-12-01 19:25:45 -05:00
christopher waters
fa2ebfe998 Adding includes to rendering cpp files in preparation for header changes.
#preflight 6387bd29fa053c489ad45427

[CL 23343615 by christopher waters in ue5-main branch]
2022-11-30 18:29:09 -05:00
NEdwards-Sharkmob
91616e176b PR #9851: Add missing parameter to FWindowsMMDeviceCache::OnDeviceRemoved log which causes a crash (Contributed by NEdwards-Sharkmob)
#rb sebastian.nordgren
#preflight 638494ef4004f73f625a079f

[CL 23286872 by NEdwards-Sharkmob in ue5-main branch]
2022-11-28 06:05:36 -05:00
Luke Thatcher
f5136f75e2 Unify code that binds shader resources from uniform buffers across platform RHIs
- 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]
2022-11-23 14:17:01 -05:00
Luke Thatcher
da637eb5b8 Remove platform RHICopySharedMips function
- 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]
2022-11-23 07:01:10 -05:00
luke thatcher
5c2b337271 Minimal version of RHICopySharedMips for a platform it is required on
- 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]
2022-11-21 17:17:11 -05:00
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