Pass / view uniform buffers are no longer bound through mesh draw commands. Instead, they are bound using static bindings on the RDG pass. This is necessary because pass uniform buffers contain RDG resources, which need to be declared to RDG.
#rb christopher.waters, Dmitriy.Dyomin
[CL 14899861 by zach bethel in ue5-main branch]
- View / InstancedView uniform buffers are now bound through RDG directly from the FViewInfo, or created on-demand for cases like jitter-free custom depth.
- Removed most of the custom persistent view uniform buffers. Left one in Lumen to be done in a later CL.
- ReflectionCapture uniform buffer is now bound at the RDG pass level.
#rb christopher.waters
[CL 14873982 by zach bethel in ue5-main branch]
- This is used to allow editor to load cooked materials/shader maps
- Remove UE_FORCE_64BIT_MEMORY_IMAGE_POINTERS, and instead always force memory image ptrs to be 64bits...this simplifies some code, and plan is to remove 32bit support at some point anyway
- Frozen memory image pointers only need 32bits for offset, which leaves another 32bits to stash a type identifier...this allows us to interpret that frozen data being referenced, even it's packed for a different platform
#jira UE-91444
#rb arciel.rekman
[CL 14592392 by Ben Ingram in ue5-main branch]
- 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 12646854 via CL 12646966 via CL 12646981
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12646995 by ben ingram in Main branch]
#jira UE-89660
#rb jack.porter, mi.wang
#ROBOMERGE-SOURCE: CL 11729627 in //UE4/Release-4.25/... via CL 11729654
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)
[CL 11729684 by wei liu in Main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]
- It's possible for the same MPC to be loaded multiple times. If this happens, it will get added to this map multiple times. If it's not a multimap, the first instance that's destroyed will remove the ID from the map, which will cause further lookups against the map to fail
#rb none
#ROBOMERGE-SOURCE: CL 10493095 via CL 10493097 via CL 10493098
#ROBOMERGE-BOT: (v606-10482310)
[CL 10493099 by ben ingram in Main branch]
* a parameter of a translucent material changes (or any other material change which causes a mesh draw command to be rebuilt)
* the scene is captured to a cube map (for example, because a skylight component is marked as dirty)
UpdateDeferredCachedUniformExpressions() would normally be called by BeginRenderingViewFamily() to update the changed material, but USkyLightComponent::UpdateSkyCaptureContents() runs before the viewport is redrawn, so if we don't update the cache explicitly at the beginning of CaptureSceneToScratchCubemap(), FMaterialShader::GetShaderBindings() asserts.
#jira UE-75466
#lockdown cristina.riveron
#rb Daniel.Wright
#ROBOMERGE-SOURCE: CL 10302757 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v593-10286020)
[CL 10302785 by mihnea balta in Main branch]
#jira UE-75466
#lockdown Cristina.Riveron
#rb Rolando.Caloca
#ROBOMERGE-SOURCE: CL 9839764 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v546-9757112)
[CL 9839766 by mihnea balta in Main branch]
#jira UE-78484
#tests tested some niagara effects after and looked correct
#rb none
[FYI] zach.bethel
#ROBOMERGE-SOURCE: CL 7841367 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v389-7813075)
[CL 7841368 by shaun kime in Main branch]