Commit Graph

1596 Commits

Author SHA1 Message Date
christopher waters
e9a48d6897 Removing more uses of GMaxRHIFeatureLevel.
Focus started on GenerateMips and AddClearUAVPass.

#jira none
#rb mihnea.balta
#preflight 62fe768d200ff87e07c5e1ad

[CL 21448320 by christopher waters in ue5-main branch]
2022-08-18 15:29:29 -04:00
dmitriy dyomin
6d1f9e0955 Skip caching MobileBasePassCSM commands when deferred shading is enabled (missed one file)
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 21439775 via CL 21439785 via CL 21439797 via CL 21439812
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21440286 by dmitriy dyomin in ue5-main branch]
2022-08-18 08:05:29 -04:00
nuno leiria
b09e8146cd Force inline functions that are often called.
The compiler on some platforms doesn't do this automatically.

#preflight 62fbe4c8cf7afa018bac3a67
#rb david.harvey

#ROBOMERGE-OWNER: nuno.leiria
#ROBOMERGE-AUTHOR: nuno.leiria
#ROBOMERGE-SOURCE: CL 21439197 via CL 21439204 via CL 21439208 via CL 21439325 via CL 21439330
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21439833 by nuno leiria in ue5-main branch]
2022-08-18 06:41:13 -04:00
christopher waters
be801cd728 Removing reference of a temporary.
#jira UE-158335
#rb mihnea.balta
#preflight 62face43af6329b3c3a0bba1

[CL 21430518 by christopher waters in ue5-main branch]
2022-08-17 15:52:12 -04:00
Wei Liu
c5b17c54eb Enable mobile ambient occlusin on LDR
#jira none

#rb Dmitriy.Dyomin
#preflight 62fc9828086f90bbc4664adf

[CL 21422099 by Wei Liu in ue5-main branch]
2022-08-17 03:40:59 -04:00
Guillaume Abadie
babd5c6738 Limits the size of staged buffer when dump large resources with DumpGPU
#rb none
#jira UE-160972
#preflight 62fad020e41faed68ae265c1

[CL 21404209 by Guillaume Abadie in ue5-main branch]
2022-08-16 09:41:50 -04:00
Sebastien Hillaire
f9701b8e16 Strata - Single Layer Water optimsation for when SeparatedDirLightLuminance is enabled for DFShadow on water surface. That extrata data goes into a render target. This can save 0.1ms on older platforms when water coverage gets large on screen.
#rb none
#preflight https://horde.devtools.epicgames.com/job/62fa65da1e61d1ba0e36afc5
#fyi charles.derousiers

[CL 21402176 by Sebastien Hillaire in ue5-main branch]
2022-08-16 03:12:47 -04:00
ben woodhouse
f01fc33a83 Make a new RenderthreadCriticalPath stat which includes dependent waits. The new stat still excludes GPU occlusion query waits, the present wait and non-critical path waits (waiting for the game thread or RHI thread). Waits for tasks kicked on the GT are included though (unlike the existing stat).
The implementation extends the existing FThreadIdleStats to track critical path vs non-critical path waits for a thread.

The cvar r.RenderThreadTimeIncludesDependentWaits forces the main renderthread stat to use the new behavior, but this is disabled by default for historical tracking reasons.

#rb Nuno Leiria

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21386702 via CL 21387159 via CL 21387356 via CL 21391039 via CL 21391830
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21394348 by ben woodhouse in ue5-main branch]
2022-08-15 17:15:00 -04:00
dmitriy dyomin
3f27739e32 Make "r.Mobile.ShadingPath" per-platform option. Require DXC for GL to enable deferred shading
#rb none

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 21385236 via CL 21387818 via CL 21388641
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21390254 by dmitriy dyomin in ue5-main branch]
2022-08-15 14:07:54 -04:00
Florin Pascu
960d2cf9d4 Filter Frequencies for mobile platforms(only allow vertex, pixel and compute)
#rb Dmitriy.Dyomin
#jira UE-159449
#preflight 62f50941086f90bbc415bb9d

[CL 21335708 by Florin Pascu in ue5-main branch]
2022-08-11 10:19:42 -04:00
TWAtGH
b793072199 PR #9455: Merged FASTBuild PR #8784 with recent UE5 changes (Contributed by TWAtGH)
#preflight 62f3fcc9f75a2a539c8d29dc

[CL 21323984 by TWAtGH in ue5-main branch]
2022-08-10 15:23:20 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
christopher waters
862033a6a3 Working around DXC issues that caused constant buffers to be marked used when we initialized bindless resources for Uniform Buffers.
Uniform Buffer struct initializing now just use a global resource/sampler to instead of calling the getter function.
Adding bindless support to FShaderResourceParameter.

#jira UE-139616
#rb yuriy.odonnell
#preflight 62d9da7fd54af4b9a222d9c5

[CL 21273494 by christopher waters in ue5-main branch]
2022-08-08 15:22:39 -04:00
arne schober
11bcaa521d Add extra debug info for FRenderResource lifetime.
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 21198085 via CL 21198090 via CL 21198094
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21198504 by arne schober in ue5-main branch]
2022-07-21 04:08:31 -04:00
arne schober
ba88ede4c6 Fix race in BatchReleasedResources
#RB lason.nadro

#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 21188727 via CL 21188736 via CL 21188745
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21194276 by arne schober in ue5-main branch]
2022-07-20 18:59:05 -04:00
allan bentham
9a5afd7255 Multiple PSO cache processing.
Splitt PSO cache code to separate out bundled game caches and a single PSO recording user cache.
Any additional PSO caches are enqueued when the shader library state change adds shader library components.
removed unused PSO SaveMode::SortedBoundPSOs.
#rb dmytro.vovk, peter.sauerbrei
#preflight 62d568481062f2e63007eafd
#preflight 62d5a99b2e3e5993c3bd473f

#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 21152209 via CL 21154820 via CL 21156073
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181749 by allan bentham in ue5-main branch]
2022-07-20 11:54:53 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
Dmitriy Dyomin
f00c0a426b Remove support for a landscape baked mesh which was used for mobile platforms only
#jira none
#rb jonathan.bard
#preflight 62d769cdbc175ec68cee67d0

[CL 21171586 by Dmitriy Dyomin in ue5-main branch]
2022-07-19 23:03:12 -04:00
Arciel Rekman
09175d79ea Multi-viewport on PC (D3D11/12, Vulkan).
- RHISupportsMultiviewport made to work on relevant shader platforms.
- RHISetStereoViewport implemented
- Unused outputs removal fixed to always consider viewport index used.
- Renamed confusing terminology (multiview -> multiviewport).
- Added a CVar (vr.MultiViewport) to force disable
- Added a canvas output to know the method in non-Shipping

#jira UE-151349
#review @Robert.Srinivasiah, @Jules.Blok, @JeanNoe.Morissette
#rb Robert.Srinivasiah, Jules.Blok, Chris.Waters
#preflight 62d193c43b057e727491c9d2

[CL 21153050 by Arciel Rekman in ue5-main branch]
2022-07-18 17:31:15 -04:00
christopher waters
a987160f55 Reworking the parameter rewrite code to do automatic bindless
- Refactoring FShaderParameterParser to use more string views since we can rely on OriginalParsedShader not changing.
- Split FShaderParameterParser::ParseAndMoveShaderParametersToRootConstantBuffer into smaller functions
- Moving FShaderParametersMetadata::IterateShaderParameterMembers into the only module it's used in, ShaderParameterParser.cpp
- Adding CFLAG_BindlessResources which will be set when ENABLE_BINDLESS_RESOURCES is set
- Adding CFLAG_BindlessSamplers which will be set when ENABLE_BINDLESS_SAMPLERS is set
- Adding resource/sampler detection and conversion to bindless in FShaderParameterParser

#jira UE-139616
#rb guillaume.abadie, jeannoe.morissette, yuriy.odonnell, laura.hermanns
#preflight 62d180cce468fcfd0b7001a0

[CL 21111994 by christopher waters in ue5-main branch]
2022-07-15 12:25:44 -04:00
bryan sefcik
5b7ea0e9e5 Fixed -NoPCH -DisableUnity compile issue in ShaderCompilerCore.h
#preflight 62d0a1fd2e3e5993c30bdba6

[CL 21101265 by bryan sefcik in ue5-main branch]
2022-07-14 19:33:58 -04:00
serge bernier
6df0b584ae Use DDPI option to use the compressed transforms with scenedata. For platforms not supporting nanite, using non compressed transforms saves 0.4ms on the GPU.
#rb [at]jamie.hayes

#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 21090729 via CL 21090755 via CL 21095104
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21099187 by serge bernier in ue5-main branch]
2022-07-14 17:05:33 -04:00
Jeremy Moore
28cb1705c8 #jira UE-158839
Initialise value to fix UBSan warning.
#preflight 62cebf23471a2c28861c3e5f

[CL 21070050 by Jeremy Moore in ue5-main branch]
2022-07-13 09:11:52 -04:00
Dan Thompson
39fc9af40d Migrate pixel format size calculations to Core so that texture build workers (and misc programs) can touch them without having to depend on RenderCore. By popular demand, brough over the RHI specific capabilities stuff as well.
#rb Mihnea.Balta
#preflight 62cdafda254b7ba6dbcf2501

[CL 21059272 by Dan Thompson in ue5-main branch]
2022-07-12 13:56:13 -04:00
Yuriy ODonnell
2408cc1503 Allow FScopedGPUStatEvent and SCOPED_GPU_STAT to be used with any command list type.
* Stat push/pop will still only execute when running on immediate command list (no behavior change), but code that uses non-RDG mechanism for GPU stats will now always compile
* Remove rendering thread check from FScopedGPUStatEvent::Begin/End (it is implied by immediate command list)

#rb mihnea.balta
#preflight 62cda559492f42e20304bb3a

[CL 21058431 by Yuriy ODonnell in ue5-main branch]
2022-07-12 13:08:38 -04:00