Commit Graph

1980 Commits

Author SHA1 Message Date
benjamin rouveyrol
083a8df6f3 StructuredBuffer stride validation: some platforms use the SRV's stride instead of the declared HLSL type to index in structured buffers. This should allow us to catch issues like UE-177214 or UE-178039 by running with -rhivalidation
#rb mihnea.balta
#preflight 6407abb7fb10f393c210ce82
#jira UE-178276
#rnx

[CL 24572578 by benjamin rouveyrol in ue5-main branch]
2023-03-09 03:03:11 -05:00
zach bethel
7173e0f8fd Moved static mesh creation and uniform buffer updates to be view-independent.
#preflight 64092ab98832f48a4dd41e07
#rb krzysztof.narkowicz

[CL 24569999 by zach bethel in ue5-main branch]
2023-03-08 19:47:23 -05:00
benjamin rouveyrol
211481ec2b Fix r.HDR.EnableHDROutput which could get stuck on windows platforms: this CVar now means that the project wants to enable HDR, and won't be changed in case no display supports HDR. We rely on IsHDREnabled / HDRGetMetaData in the rest of the engine which checks if the display we're rendering to supports HDR.
Fix UGameUserSettings::GetCurrentHDRDisplayNits not updating r.HDR.Display.MaxLuminance when it was changing

#rb eric.renaudhoude
#jira UE-175329
#preflight 64085be78c0039bbf72464ab

[CL 24556967 by benjamin rouveyrol in ue5-main branch]
2023-03-08 05:09:47 -05:00
christopher waters
b23404605a RHI Parameter Batching
- OneColorShader now uses batched parameters.
- Clear replacement shaders now use batched parameters.
- Deprecating the RHICmdList functions in ShaderParameterUtils.h and forcing them to go through the batched parameter code paths.

#rb zach.bethel, luke.thatcher
#preflight 64027074c13b7130d20d7248

[CL 24525024 by christopher waters in ue5-main branch]
2023-03-06 12:43:07 -05:00
Charles deRousiers
1c6fe73ece Add exposure as new light unit.
#rb chris.kulla
#jira none
#preflight 63f7e43e1206d91a2b6c4121

[CL 24519541 by Charles deRousiers in ue5-main branch]
2023-03-06 04:43:25 -05:00
Dmitriy Dyomin
1221e5705d Added support for ASTC Luminace+Alpha encoded normal maps
#jira none
#preflight 6404782e1d304a5471847436

[CL 24518576 by Dmitriy Dyomin in ue5-main branch]
2023-03-05 21:08:09 -05:00
arciel rekman
ab92d0298a Only separate PCD3D_SM5 RT shaders for compression.
- The reason for the separate grouping was that PCD3D_SM5 is shared between SM5 and SM6 platforms and as such compressing raytracing shaders together with non-RT ones would affect memory footprint for D3D11.
- For PCD3D_SM6 users this is less of a concern. While this change can regress memory footprint for users who disable raytracing in the settings, it will improve memory footprint for those who do not (presumably, the majority). Also, it saves more in the disk space for everyone.

#rb Jason.Nadro, Dan.Elksnitis
[REVIEW] [at]Jason.Nadro, [at]Dan.Elksnitis
#preflight 6400bdcc5f3b94d2920ec788
#rnx

[CL 24508791 by arciel rekman in ue5-main branch]
2023-03-03 17:36:00 -05:00
luke thatcher
984a0bba79 Fix RHI validation layer error in SkeletalRenderGPUSkin.cpp
- MorphVertexBuffer was not in UAV state before being cleared with RHIClearUAVUint.

Fix RDGImmediate not uploading buffers if no render passes were enqueued.
 - Also remove stray debug string compare / debug break

#rb Zach.Bethel
#jira MH-8828
#preflight 64023e2aa726961ed9d598fe

[CL 24507908 by luke thatcher in ue5-main branch]
2023-03-03 17:05:15 -05:00
arciel rekman
80c58ff63e Track (first) owners of FShaderMapResource_SharedCode to improve leak investigation.
#rb Jason.Nadro, Rob.Krajcarski, Jeremy.Moore, Eric.Renaud-Houde
#preflight 6402182a59017a559b7df6bd
[REVIEW] [at]Jason.Nadro, [at]Rob.Krajcarski, [at]Jeremy.Moore, [at]Eric.Renaudhoude
#rnx

[CL 24507827 by arciel rekman in ue5-main branch]
2023-03-03 17:02:58 -05:00
ionut matasaru
623313b08e Added tracing for the existing "Stats_GPU_*" float counters (when "stats" trace channel is enabled).
#rb zach.bethel
#preflight 63ee1be55c7bd278c133176c

[CL 24496835 by ionut matasaru in ue5-main branch]
2023-03-03 06:25:11 -05:00
christopher waters
0270a29acd RHI Parameter Batching
- Moving some loose uniform buffer sets into their shader SetParameters methods.
- Changing some deprecated functions to use batched parameters internally.
#preflight 640112a6a20ddf1bf45a4969

[CL 24490497 by christopher waters in ue5-main branch]
2023-03-02 16:41:59 -05:00
christopher waters
4c9aa05eca Big push to convert more shader types to use batched parameters.
- Media Shaders
- Slate
- Particles

#preflight 6400f3a7a20ddf1bf44f084c

[CL 24487638 by christopher waters in ue5-main branch]
2023-03-02 14:29:31 -05:00
guillaume abadie
6437b3972e Implements r.DumpGPU.FrameCount
#jira IRON-449
#rb trivial
#preflight 6400b588a20ddf1bf4320725

[CL 24483054 by guillaume abadie in ue5-main branch]
2023-03-02 11:10:48 -05:00
christopher waters
dd7c0212f8 Changing a lot more code to use batched shader parameters.
#preflight 63fe6efce32cdb7d9a6a5330

[CL 24472528 by christopher waters in ue5-main branch]
2023-03-01 17:43:57 -05:00
christopher waters
525b9e16b8 RHI cleanup
- Moving GUseTexture3DBulkDataRHI into RHIGlobals.h
- Removing uses of RHI_API from cpp files. The declarations are enough to export these.

#preflight 63ff86ffc63aaf1e1301a285

[CL 24471401 by christopher waters in ue5-main branch]
2023-03-01 16:55:20 -05:00
charles derousiers
a6b3723b28 Add VSM high quality shadow filtering for translucent surface for Substrate and legacy path.
This is a global opt-in feature.

#rb ola.olsson, andrew.lauritzen
#jira none
#lockdown juan.canada
#preflight 63fe7e1bf43e53f681c31d03

[CL 24462071 by charles derousiers in ue5-main branch]
2023-03-01 10:01:35 -05:00
christopher waters
d05bc8e286 Removing Renderer/Private includes from Engine.
- Adding IRendererModule::GetPreviousViewMatrices and IRendererModule::GetGlobalDistanceFieldParameterData since Engine particles need that data.
- Adding IRendererModule::BeginDeferredUpdateOfPrimitiveSceneInfo for Nanite WPO handling.
- Adding IRendererModule::AddMeshBatchToGPUScene so that Engine can properly add elements to GPUScene.
- Moving StaticMeshBatch.h to Renderer/Public.
- Moving bDisableDistanceBasedFadeTransitions to FSceneView.
- Moving STATGROUP_CommandListMarkers into its own header.

#preflight 63fd778ddd78dd50f6d0c24a

[CL 24443917 by christopher waters in ue5-main branch]
2023-02-28 11:35:46 -05:00
christopher waters
030fb3c659 Adding batched parameter paths for more shared shader types.
#preflight 63fd1859a134e0b059f30880

[CL 24433956 by christopher waters in ue5-main branch]
2023-02-27 17:34:22 -05:00
graham wihlidal
9ca9010fd4 Fixes to make COTF recompile shaders work correctly for mesh and material shaders, and also fixed ODSC to properly compile material shader permutations.
#rb jason.nadro, arciel.rekman
#fyi brian.karis, rune.stubbe, jamie.hayes, kryzstof.narkowicz, daniel.wright, yuriy.odonnell
#preflight skip

[CL 24430265 by graham wihlidal in ue5-main branch]
2023-02-27 15:07:18 -05:00
zach bethel
eeb206a886 Use SceneRenderingAllocator for RDG allocated arrays.
#preflight trivial

[CL 24428218 by zach bethel in ue5-main branch]
2023-02-27 13:49:29 -05:00
zach bethel
7ef5721365 Fixed race condition with RDG setup tasks and buffer creation callbacks.
#preflight trivial

[CL 24428159 by zach bethel in ue5-main branch]
2023-02-27 13:47:56 -05:00
zhikang shao
ec4c90dd8c Changed logging category of shader hash calculation from LogTemp to LogShaders. This reduces the amount of LogTemp messages when setting it to VeryVerbose in a fresh project.
#preflight 63fcc6b1dd78dd50f6887fb6

[CL 24423934 by zhikang shao in ue5-main branch]
2023-02-27 10:50:27 -05:00
wouter dek
2456b92ec0 Implement a modular member system for the scene UB.
#rb ola.olsson
#preflight 63fc8c961206d91a2bbfe4bf

[CL 24421126 by wouter dek in ue5-main branch]
2023-02-27 06:11:22 -05:00
christopher waters
b49a6a439c Adding missing export.
[CL 24414095 by christopher waters in ue5-main branch]
2023-02-24 20:12:40 -05:00
christopher waters
e36f641e34 Non-comprehensive pass on removing dllexport's from global shader types. Shader types only need exports on their boilerplate macro (DECLARE_GLOBAL_SHADER -> DECLARE_EXPORTED_GLOBAL_SHADER) and any "setter" methods not defined inline.
#rb jason.nadro
#preflight 63f932b9b879197e73746415

[CL 24414091 by christopher waters in ue5-main branch]
2023-02-24 20:12:29 -05:00