Commit Graph

1158 Commits

Author SHA1 Message Date
Stu McKenna
1130512cfe - Rigid Mesh Collision DI converted to RDG
#rb rob.krajcarski, devon.penney
#jira UE-151234
#preflight 62aa5acb102b5101ccdaaa8d
#preflight 62ab6712e9031caf98af7f6c

[CL 20690140 by Stu McKenna in ue5-main branch]
2022-06-16 13:35:46 -04:00
Florin Pascu
6b14075ce6 Adding Cvar Flags that will make them automatically modify the KeyString when modified
Cvars with this flag will modify the Shader Keystring for All Platforms
ECVF_GeneralShaderChange = 0x200,

Cvars with this flag will modify the Shader Keystring for Mobile Platforms
ECVF_MobileShaderChange = 0x400,

Cvars with this flag will modify the Shader Keystring for Desktop Platforms
ECVF_DesktopShaderChange = 0x800,

r.MobileHDR is using this system now. Others will follow.

#rb Jack.Porter, Mihnea.Balta
#jira UE-120561
#preflight 62aae0aeea213dadf0b36fdd

[CL 20684686 by Florin Pascu in ue5-main branch]
2022-06-16 04:38:20 -04:00
jeannoe morissette
a55062b58e VulkanRHI: Temporarily disable gpu stat accumulation during modal dialog's 'long frame' to prevent OOM from staging buffer accumulation.
#rb Mihnea.Balta
#jira UE-148255
#preflight 62a89264cf54a658ee0e8316
#lockdown Mihnea.Balta

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 20674492 in //UE5/Release-5.0/... via CL 20675969
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20679016 by jeannoe morissette in ue5-main branch]
2022-06-15 19:31:56 -04:00
zach bethel
8a9fd982e6 Sync RDG setup events prior to the PSO cache coalescing sync point.
#fyi dave.barrett
#preflight 62a95ee1293ff41d4957783a

[CL 20665487 by zach bethel in ue5-main branch]
2022-06-15 00:28:49 -04:00
christopher waters
f9e5f44dee Restoring functionality to r.ShaderCompiler.EmitWarningsOnLoad
#jira none
#rb jason.nadro
#preflight 62a8ab32d502a554367beb52

[CL 20657856 by christopher waters in ue5-main branch]
2022-06-14 17:03:34 -04:00
carl lloyd
4b6434cac6 Fix for Apple A8 device support
- Devices crashing when using Base_Vertex metal shader semantics
  - Runtime error when using Virtual Texturing on A8 devices which is unsupported.

#jira UE-131863, UE-132217
#rb Will.Damon
[FYI] Jack.Porter
#preflight 62a75ad63d0a713cf8caf486

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 20631592 in //UE5/Release-5.0/... via CL 20649245
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20656300 by carl lloyd in ue5-main branch]
2022-06-14 16:23:13 -04:00
robert srinivasiah
f2302251e4 Missing copyright boilerplate in StereoRenderUtils.cpp
#rb none
#jira none
#preflight trivial

[CL 20652500 by robert srinivasiah in ue5-main branch]
2022-06-14 13:12:57 -04:00
robert srinivasiah
511b73a9ef Bind InstancedViewUB independent of active stereo rendering
The shader compiler will enable ISR or Mobile Multi-View in shaders, independent of whether they are actively engaged in stereo rendering.
But we _bind_ the instanced view UB when we think stereo is active. We can bind the instanced view UB even while doing mono rendering.

#jira UE-145187
#rb Arciel.Rekman
#preflight 62a7d16df017fed6d25c6641 62a80b5c67522b9df01e96cc

[CL 20650995 by robert srinivasiah in ue5-main branch]
2022-06-14 12:14:38 -04:00
zach bethel
eee5dbab99 Fix for engine test failure in DumpGPU on Vulkan
#preflight 62a60279b94c57409e81884f

[CL 20619061 by zach bethel in ue5-main branch]
2022-06-12 11:28:44 -04:00
mihnea balta
b6bd0ea0ac Add missing task tag when FRDGBuilder::CreateUniformBuffers runs async.
#fyi Zach.Bethel
#preflight skip
#jira none
#rnx

[CL 20594531 by mihnea balta in ue5-main branch]
2022-06-10 09:39:51 -04:00
zach bethel
67d0028aab Moved RDG uniform buffer creation off the render thread. Added AddSetupTask helper function for async tasks that are automatically waited on prior to execution.
#preflight 62a0d919fc5ffe569a6774c0

[CL 20560693 by zach bethel in ue5-main branch]
2022-06-08 14:00:10 -04:00
zach bethel
08528f0f52 Fixed typo in -rdgparallelexecute.
#preflight trivial

[CL 20523088 by zach bethel in ue5-main branch]
2022-06-06 13:08:58 -04:00
graham wihlidal
ca70de9156 Work in progress Nanite support for landscape
#preflight 6297a7f3a660a44a23c0c879
#rb jonathan.bard
[FYI] brian.karis, ola.olsson, michal.valient, rune.stubbe

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20490481 via CL 20490493 via CL 20490509
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20495473 by graham wihlidal in ue5-main branch]
2022-06-03 19:13:16 -04:00
christopher waters
14ae8de4f8 Adding RHI cvars to control if bindless resources or samplers are enabled. If an RHI is configured with Bindless support, these configs will turn on the bindless defines and should control bindless heap creation.
The previous control was just setting the D3D12 bindless heap sizes; now those sizes can be set and will only be used when the RHI controls are enabled.

#jira UE-139617
#rb yuriy.odonnell, zach.bethel
#preflight 629a7fb7bf3102c6e4b6f53b

[CL 20494064 by christopher waters in ue5-main branch]
2022-06-03 18:12:17 -04:00
Johan Berg
71a33b5f69 Allow users to opt-out of default crash handling.
This change allows users to opt-out of the engines default crash handling. Currently only implemented on Windows where the SEH code forwards the exception to externally registered handlers.

Thanks to Kristj�n Valur J�nsson for PR.

#rb patrick.laflamme
#preflight 62977779101592b80503b809

[CL 20452469 by Johan Berg in ue5-main branch]
2022-06-01 10:48:03 -04:00
guillaume abadie
6aa3e60ba3 Fixes VisualizeTexture not visualizing Texture2DArray's slices
#rb trivial
#preflight 6295e710926be5fb68ab8d37

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 20436510 via CL 20436511 via CL 20436521
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448582 by guillaume abadie in ue5-main branch]
2022-06-01 03:50:53 -04:00
Guillaume Abadie
bf28d22c62 Fixes crash in Dynamic Resolution with -ExecCmds="stat unitgraph"
#rb trivial
#jira none
#preflight trivial
#preflight 62948c337149e31ace6fe941

[CL 20429419 by Guillaume Abadie in ue5-main branch]
2022-05-30 05:39:47 -04:00
jeremy moore
925a8fe75c Fix some items rendering to a separate velocity pass when base velocity pass is used with r.SelectiveBasePassOutputs.
This logic took primitives with a material using static lighting and moved velocity writing to a second pass.
Seems like that is some old behavior and after asking around it isn't well known why we had it.
Anyway it's not good to pay the cost of that second pass, so removing that.
#preflight 628fd8f574630984fd4d4464

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 20392160 via CL 20392172 via CL 20392182
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20398501 by jeremy moore in ue5-main branch]
2022-05-27 16:44:41 -04:00
Guillaume Abadie
2a0978a831 Fixes linking failure on shipping in render graph
#rb trivial
#jira UE-154236
#preflight trivial

[CL 20380402 by Guillaume Abadie in ue5-main branch]
2022-05-26 12:09:03 -04:00
zach bethel
20b82e1c4e Fixed 16 bit float GBuffer format to use PF_FloatRGBA.
#rb krysztof.narkowicz
#preflight trivial

[CL 20379496 by zach bethel in ue5-main branch]
2022-05-26 11:00:31 -04:00
Guillaume Abadie
bbb8d0e2c8 Rewrites dynamic resolution on top of the DynamicRenderScaling API
#rb none
#jira UE-152561
#preflight 628f43e6f622d972b5cb4f2f

[CL 20377247 by Guillaume Abadie in ue5-main branch]
2022-05-26 05:34:08 -04:00
Guillaume Abadie
0734868f53 Implements DynamicRenderScaling API with GPU timing measurement integrated within RDG
This allows to define a new dynamic scaling in the renderer with low amount of boiler plate:

DynamicRenderScaling::FHeuristicSettings GetDynamicTranslucencyResolutionSettings()
{
	RenderingDynamicScaling::FHeuristicSettings BucketSetting;
	BucketSetting.Model = RenderingDynamicScaling::EHeuristicModel::Quadratic;
	BucketSetting.bModelScalesWithPrimaryScreenPercentage = true;
	BucketSetting.MinResolutionFraction = ...
	...
	return BucketSetting;
}

DynamicRenderScaling::FBudget GDynamicTranslucencyResolution(TEXT("DynamicTranslucencyResolution"), &GetDynamicTranslucencyResolutionSettings);


And then simply define a scope to measure the GPU timing as such:

{
	DynamicRenderScaling::FRDGScope DynamicTranslucencyResolutionScope(GraphBuilder, GDynamicTranslucencyResolution);

	// add passes to GraphBuilder
}

#rb zach.bethel
#jira UE-152561
#preflight 628f1219bb14235aa38c904c

[CL 20376428 by Guillaume Abadie in ue5-main branch]
2022-05-26 01:58:36 -04:00
benjamin rouveyrol
7a21ea463f hdr multi window/display support
This improves how the editor deals with displays that have different capabilities (some with HDR, others without).
Centralize where the CVars are accessed
Have the swapchain created in SDR when shown on a SDR display
Make sure color gamut matches the one supported by the platform/swapchain.
Allow Movie scene capture to override the gamut/output format to keep existing behaviour (MovieSceneCapture relies on swapchain data)

#preflight 628baef5183c1e13462a504d
#jira UE-150952
#rb luke.thatcher

[CL 20347067 by benjamin rouveyrol in ue5-main branch]
2022-05-24 09:04:39 -04:00
Arciel Rekman
5623c7e0ae Fix disabling instanced stereo crashing the project.
#rb Jules.Blok
#jira UE-152879
#preflight none
#fyi Robert.Srinivasiah

[CL 20301834 by Arciel Rekman in ue5-main branch]
2022-05-20 15:54:01 -04:00
tiago costa
e98ce47a3b Keep track of all callable shaders to build RTPSO
- GetRayTracingCallableLibrary() similar to how we handle hitgroups.
FindRayTracingCallableIndex(...) to query callable shader index in RTPSO.

#rb yuriy.odonnell
#preflight 628620c99016c6dd8974b510

[CL 20278150 by tiago costa in ue5-main branch]
2022-05-19 07:03:30 -04:00