This change is the copy-up of work from //UE5/Dev-ParallelRendering to unify the various RHI texture types
- The separate RHI texture types (FRHITexture2D, FRHITexture2DArray, FRHITexture3D, FRHITextureCube, FRHITextureCubeArray) have been replaced with a single type: FRHITexture.
- Includes the required refactoring / fixes for the various platform RHIs.
The old texture types are still supported via typedefs, but will soon be marked deprecated. Future rendering code should make use of the FRHITexture type instead.
#jira UE-139559
#rb Mihnea.Balta
#preflight 622f3af819287beb2c3047f6
#robomerge[FN_ENGINEMERGE] DEV-NC
[CL 19371962 by Luke Thatcher in ue5-main branch]
- Adding IOpenGLDynamicRHI interface for plugins that want to touch OpenGL resources/handles directly.
- Modifying plugins that were using OpenGLDrv.h to use the interface instead.
- Removing plugin references to UE Modules and ThirdParty libraries that were only needed because they included the private RHI headers.
- Removing OpenGLDrv/Private from plugin include paths.
#jira none
#rb dmitriy.dyomin, lukas.hermanns, robert.srinivasiah
#preflight 6226442206521a56d5d99678
#robomerge FNNC
[CL 19314031 by christopher waters in ue5-main branch]
only used during PSO precompiling.
This can reduce PSO precompile times by as much as 2/3rds.
It is enabled by default, it can be disabled via Android.OpenGL.NumRemoteProgramCompileServices=0 or setting android configrule variable 'DisableProgramCompileServices' to true.
#rb chris.babcock, Dmitriy.Dyomin
[FYI] peter.sauerbrei, jack.porter
#preflight 6218decf847077002e87365b
#ROBOMERGE-OWNER: allan.bentham
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 19147130 via CL 19147174 via CL 19148641 via CL 19148655 via CL 19160382
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19161662 by allan bentham in ue5-main branch]
Switching direct casts of GDynamicRHI to use the new CastDynamicRHI/GetDynamicRHI functions. This prevents incorrectly casting RHIValidation into the wrong types.
#jira none
#rb josh.adams, will.damon, peter.tarasenko
#preflight 6216a3b9c15ec90be95f54f7
[CL 19116145 by christopher waters in ue5-main branch]
After resume, we create new surfaces for the game and render threads (shared and rendering context surfaces). However, we only immediately bind the rendering thread context.
TECHNICALLY, we should be safe to keep the previous surface handy (EGL spec says old surface is pending deletion once made un-current). I'd be surprised if drivers actually like this.
This was causing a problem with ARCore where they used our game thread context (shared context) in order to create their own internal context (after resume). Once we call eglMakeCurrent with the shared context and the newly created shared surface, ARCore happily survives pause/resume.
#rb Chris.Babcock Dmitriy.Dyomin steve.smith
#jira UE-120253
#preflight 61dcae673c7555edfda2d906
#ROBOMERGE-AUTHOR: robert.srinivasiah
#ROBOMERGE-SOURCE: CL 18566399 in //UE5/Release-5.0/... via CL 18566438
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18566458 by robert srinivasiah in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
todo: hdr decode at runtime when astc hdr not supported
needs to figure out why ARM Encoder is much slower than ISPC, use ARM only for HDR Textures might be a good compromise.
#jira UE-119388
#ROBOMERGE-AUTHOR: yangke.li
#ROBOMERGE-SOURCE: CL 17441496 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17441499 by yangke li in ue5-release-engine-test branch]
For Forward ES31
Default SceneColor RG11B10 + R16F\32F Depth texture
With PropagateAlpha on RGBA16F + R16F\32F
PostProcess we sample SceneDepthAux for Depth
For Deferred ES31
SceneDepthAux only for Metal
PropagateAlpha not working yet
PostProcess we sample SceneDepthTexture for Depth
cvar to change Depth texture from 16 to 32Fr.Mobile.SceneDepthAux
cvar for AlphaPropagate r.Mobile.PropagateAlpha
#jira UE-98033
#rb Dmitriy.Dyomin, Carl.Lloyd, Jack.Porter
#ROBOMERGE-SOURCE: CL 16644095 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)
[CL 16644108 by florin pascu in ue5-release-engine-test branch]
Adding Google GameSDK for NDK21
Update GoogleGameSDK libraries to support Swappy_getSupportedRefreshRates
#jira UE-80047
#rb in_4.25
#ROBOMERGE-OWNER: jack.porter
#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 13003029 via CL 13003101 via CL 13003103
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 13003106 by jack porter in Main branch]