Commit Graph

1515 Commits

Author SHA1 Message Date
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
fba0d17713 Removed GetUAV from IPooledRenderTarget.
#preflight 628e8986af7a2e956bd802bc

[CL 20379501 by zach bethel in ue5-main branch]
2022-05-26 11:00:52 -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
zach bethel
7bda0efe14 Deprecated raw UAV access in VT API.
#preflight 628c07b7d8258814a9d8d882

[CL 20370291 by zach bethel in ue5-main branch]
2022-05-25 15:50:23 -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
tiago costa
30c8264346 Implemented ShouldCompileRayTracingCallableShadersForProject(ShaderPlatform)
- added bSupportsRayTracingCallableShaders to DDPI.
- only Windows D3D12 RHI supports callable shaders at the moment.

#rb yuriy.odonnell
#preflight 628bb493693c5e1de282983f

[CL 20331097 by tiago costa in ue5-main branch]
2022-05-23 12:52:55 -04:00
jamie hayes
857e02b9a0 Add ability to specify a camera distance cull range for instances of a primitive and add camera distance culling logic to Nanite.
Hooked the value used by instanced static meshes into it to get nanite ISMs to respect the cull distance.

#rb brian.karis
#preflight 6287d8a21e478b95c7345866

#ROBOMERGE-AUTHOR: jamie.hayes
#ROBOMERGE-SOURCE: CL 20301693 via CL 20301776 via CL 20301792
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20305738 by jamie hayes in ue5-main branch]
2022-05-20 19:15:15 -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
zach bethel
53be0355a9 Deprecated CopyToResolveTarget method.
#rb luke.thatcher
#preflight 6285632d660b4a15be67ef57

[CL 20269210 by zach bethel in ue5-main branch]
2022-05-18 17:55:32 -04:00
Stu McKenna
9513a1a072 - Move constant buffers into loose parameters, with the exception of the external cbuffer
- Parameter binding is now enabled when possible, i.e. no legacy data interfaces / external cbuffer / view uniform buffer

#rb rob.krajcarski
#jira UE-151234
#preflight 62844015f669ec5902688727

[CL 20266965 by Stu McKenna in ue5-main branch]
2022-05-18 15:48:43 -04:00
christopher waters
5a7c632f9b Fixing static analysis warning.
#jira UE-152849
#rb none
#preflight 628518b41f474f0660f18580

[CL 20262533 by christopher waters in ue5-main branch]
2022-05-18 12:33:38 -04:00
zach bethel
ac6e75533b Replaced AddCopyToResolveTarget pass with render target resolve.
#preflight 6283ea93520eb4f0a55a85c5

[CL 20262493 by zach bethel in ue5-main branch]
2022-05-18 12:31:54 -04:00
zach bethel
f6311d1011 Cleaned up FRHIRenderPassInfo cruft and forwarded resolve operations through a common RHI core method.
#preflight 62842b5982530182724612f6

[CL 20262457 by zach bethel in ue5-main branch]
2022-05-18 12:29:26 -04:00
zach bethel
b480e5be5e Fixed crash in RDG due to transient extracted texture.
#jira UE-152668
#preflight trivial

[CL 20262222 by zach bethel in ue5-main branch]
2022-05-18 12:12:48 -04:00
christopher waters
1e01768e33 Bindless shader parameters
- Adding support for bindless resources/samplers. The loose resources have to be wrapped in a macro that generates an index and proxy resource when bindless is enabled. Reflection has to parse these differently from other resources since they're parsed as uint parameters. The runtime also has to bind these differently since they end up needing to find their real resource in the binding data and then update a constant buffer.
- To assist in conversions, the shader compiler will detect if a shader is compiled with both bindless and non-bindless resources/samplers and will emit errors if that is the case.
- Adding support for bindless Uniform Buffer resources/samplers. Because Uniform Buffers aren't per-shader, they'll always update their constants with the bindless indices of their resources.
- Adding more flags to FShaderCodePackedResourceCounts required changing all the array initializations to individual parameters since not all the new flags are used everywhere.
- No shaders have been configured to support bindless resources/samplers. Yet.

#jira UE-139616
#rb zach.bethel, arciel.rekman
#preflight 6282b8ec44349a6581a21a39

[CL 20250348 by christopher waters in ue5-main branch]
2022-05-17 16:30:48 -04:00
zach bethel
8a1a598d53 Fixed static analysis error and added more assert information to catch regression.
#preflight trivial
#jira UE-152693

[CL 20247062 by zach bethel in ue5-main branch]
2022-05-17 13:54:01 -04:00
zach bethel
b91ad347cf Removing unhelpful RDG assert as there are external buffers with incorrect flags causing it to fire, and the underlying issue is non-fatal.
#jira UE-152570
#preflight trivial

[CL 20228585 by zach bethel in ue5-main branch]
2022-05-16 14:33:14 -04:00
zach bethel
e5e30533e6 Loosened RDG validation to allow unformatted SRV / UAV when the structured buffer flag is set, rather than assert if the vertex buffer flag is present, in cases where both are set.
#preflight trivial
#jira UE-152500

[CL 20225864 by zach bethel in ue5-main branch]
2022-05-16 12:01:18 -04:00
zach bethel
fdc795f5b9 Implemented support for fused CopySrc | CopyDest transitions for Vulkan in RDG.
- Simplified RDG transition logic to only use subresource transitions.
 - Don't allow unmergeable states to be merged during pass setup.

#preflight 627ebfadca3b90fc14fb9b85
#fyi jeannoe.morissette

[CL 20224647 by zach bethel in ue5-main branch]
2022-05-16 11:02:52 -04:00