#rb none
#jira UE-92276
#lockdown cristina.riveron
#ROBOMERGE-SOURCE: CL 12982285 in //UE4/Release-4.25/... via CL 12982295 via CL 12982323
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12982345 by juan canada in Main branch]
#rb none
#jira ue-92238
#ROBOMERGE-SOURCE: CL 12972976 in //UE4/Release-4.25/... via CL 12972980 via CL 12972981
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12972982 by patrick kelly in Main branch]
Reformulate CalcThinTransmission to align with path tracing material model.
#rb none
#jira ue-92238
#public okforgithub
#ROBOMERGE-SOURCE: CL 12972954 in //UE4/Release-4.25/... via CL 12972961 via CL 12972966
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12972968 by patrick kelly in Main branch]
1) The normalization term for reflected transmitted color was being applied incorrectly
2) Addressed corner-case where Metallic = 0 was not properly applying transmission
3) Applied lerp(Default, ClearCoat, scalar) to handle mixed materials
#rb juan.canada, brian.karis
#jira ue-92238
#ROBOMERGE-SOURCE: CL 12962009 in //UE4/Release-4.25/... via CL 12962025 via CL 12962031
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12962066 by patrick kelly in Main branch]
Fix issues causing material DDC values to be non-determinisic
- Shader code within resources sorted by hash
- Debug source code values sorted by type
Also add mechanism to serialize any MemoryLayout described type to string
- Makes it easier to inspect material data to find sources of non-determinism
#rb none
#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12944988 in //UE4/Release-4.25/... via CL 12944998 via CL 12957822
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12957827 by ben ingram in Main branch]
#rb none
#jira none
#ROBOMERGE-SOURCE: CL 12900676 in //UE4/Release-4.25/... via CL 12900689 via CL 12900691
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12907256 by michael forot in Main branch]
#rb none
#jira none
[FYI] charles.derousiers
#ROBOMERGE-SOURCE: CL 12877701 in //UE4/Release-4.25/... via CL 12877703 via CL 12877706
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12877707 by michael forot in Main branch]
This fixes tessellation, vertex displacement and to some extent translucency rendering.
#rb rolando.caloca
#jira UE-85311
#lockdown marcus.wassmer
#ROBOMERGE-SOURCE: CL 12874781 in //UE4/Release-4.25/... via CL 12874784 via CL 12874786
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12874788 by uriel doyon in Main branch]
- unrolled loop for N=16 can exceed maximum branch length on unoptimized shaders for some DXC variants
- roll the loop to address this and remerge with the following loop as there is no longer a reason for the split
#rb Krzysztof.Narkowicz
#jira none
#ROBOMERGE-SOURCE: CL 12869760 in //UE4/Release-4.25Plus/... via CL 12869765
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12869773 by eric mcdaniel in Main branch]
#jira UE-91975
#rb Dmitriy.Dyomin, Jack.Porter, Mi.Wang
[FYI] Wenlei.Li
#ROBOMERGE-SOURCE: CL 12840292 in //UE4/Release-4.25/... via CL 12840295 via CL 12840297
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12840299 by wei liu in Main branch]
- Only allow tone mapping on radiance, indirect irradiance and primary rays debug ray tracing view modes
- Apply pow 2.2 on roughness (same as done by BufferVisualization/Roughness engine material graph)
#rb Juan.Canada
#jira
#lockdown cristina.riveron
#ushell-cherrypick of 12796945 by Yuriy.ODonnell
#ROBOMERGE-SOURCE: CL 12797788 in //UE4/Release-4.25/... via CL 12797808 via CL 12797923
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12797989 by juan canada in Main branch]
[FYI] Zach.Bethel
#ROBOMERGE-SOURCE: CL 12789190 via CL 12789193 via CL 12789194 via CL 12789195
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12789196 by krzysztof narkowicz in Main branch]
#rb none
#jira none
#ROBOMERGE-SOURCE: CL 12783290 in //UE4/Release-4.25/... via CL 12783292 via CL 12784381
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12786669 by charles derousiers in Main branch]
#rb patrick.kelly, juan.canada
#jira none
#lockdown cristina.riveron
#ushell-cherrypick of 12714979 by Patrick.Kelly
#ROBOMERGE-SOURCE: CL 12781204 in //UE4/Release-4.25/... via CL 12781216 via CL 12784374
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12786653 by juan canada in Main branch]
FHashedName converts strings to upper-case before hashing, otherwise hash depends on what particular case of a given string is first seen
#rb none
#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12738969 in //UE4/Release-4.25/... via CL 12738971 via CL 12782999
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12786234 by ben ingram in Main branch]
- Random.ush
- VoronoiNoise3D_ALU()
- DXC was unable to determine the interation range for the first set of loops and hence could not unroll them
- explicit loop iteration counts have been added to the unroll to resolve
- while in here I noticed the unroll counts on the other loops are incorrect so I've updated them accordingly
- MeshParticleVertexFactory.ush & NiagaraMeshVertexFactory.ush
- the texture coordiate pack/pack pattern utilized here confuses DXC
- in particluar, it appears to struggle with the conditional in the loop to handle the tail interation on the odd texture coordiate count case
- it reports this as a potential out of bounds memory access
- unsure if the DXC generated code does so or just warns
- regardless, refactored this pattern where found to move the final texture coordinate in the odd count case out of the loop and drive it off a preprocessor check
#rb David.Harvey, Brian.White, Juan.Canado
#jira none
#rnx
#ushell-cherrypick of 12545038 by eric.mcdaniel
#ROBOMERGE-SOURCE: CL 12726838 in //UE4/Release-4.25Plus/... via CL 12781755
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782562 by eric mcdaniel in Main branch]
- remove default values for some global shader uniforms
- DXC does not support this and I've verified we are setting these uniforms prior to use
#rb David.Harvey
#jira none
#rnx
#ushell-cherrypick of 12465645 by eric.mcdaniel
#ROBOMERGE-SOURCE: CL 12726829 in //UE4/Release-4.25Plus/... via CL 12781746
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782559 by eric mcdaniel in Main branch]
#rb David.Harvey
#jira none
#rnx
#ushell-cherrypick of 12330720 by eric.mcdaniel
#ROBOMERGE-SOURCE: CL 12726817 in //UE4/Release-4.25Plus/... via CL 12781740
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782554 by eric mcdaniel in Main branch]
- FilterVertexShader.usf, FilterPixelShader.usf
- DXC is unable to determine conditional and associated indexing are compile time constant so refactor to give it some help
- unroll a small loop in the VS, otherwise DXC is unhappy with the indexing
- SingleLayerWaterRendering.cpp
- ForwardLightData uniform parameters were used but unbound in FSingleLayerWaterCompositePS
- added the parameter macro and bound the associated global uniform buffer from the view
- LightRendering.cpp
- CapsuleLightIntegrate.ush declares a texture2d called DummyRectLightTextureForCapsuleCompilerWarning
- its used to initalize the texture member in an FAreaLight struct but that texture is unused in this scenario
- I assume this was added to work around a warning that the FAreaLight was not fully initialized
- unfortunately, unoptimized DXC does not strip this parameter and UE throws an error that we didn't bind anything to it
#rb David.Harvey
#jira none
#rnx
#ushell-cherrypick of 12081162 by eric.mcdaniel
#ROBOMERGE-SOURCE: CL 12726814 in //UE4/Release-4.25Plus/... via CL 12781738
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782552 by eric mcdaniel in Main branch]
Add freezable hash table, use to accelerate lookup of shaders within ShaderMap
- Shaders are searched by TypeName and PermutationId, so move those fields out of FShader and into separate arrays inside ShaderMap, to reduce cache misses while finding shaders
#rb none
#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12765795 via CL 12766018 via CL 12766118
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v678-12743200)
[CL 12766138 by ben ingram in Main branch]
FHashedName converts strings to upper-case before hashing, otherwise hash depends on what particular case of a given string is first seen
#rb none
[FYI] josh.adams
#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12733823 via CL 12733836 via CL 12736071
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v676-12543919)
[CL 12736167 by ben ingram in Main branch]
Only use layered swapchains for the scene render targets in the WMR plugin
Only attempt to use instanced mobile multi-view for Hololens
#jira UE-91748
#rb Steve.Smith
#ROBOMERGE-OWNER: jules.blok
#ROBOMERGE-AUTHOR: jules.blok
#ROBOMERGE-SOURCE: CL 12686399 in //UE4/Release-4.25/... via CL 12686400 via CL 12686413
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12686414 by jules blok in Main branch]
#jira ue-88715
#rb kevin.ortegren
#ROBOMERGE-SOURCE: CL 12674805 in //UE4/Release-4.25/... via CL 12674808 via CL 12674815
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12674820 by john hable in Main branch]