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]
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]
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]
Add Android OpenGL FPlatformRHIFramePacer support optionally using swappy and relocate code from AndroidEGL
Add FIOSPlatformRHIFramePacer get/set frame pace functions to set rhi.syncinterval taking into account GetMaxRefreshRate
#rb Allan.Bentham
[FYI] Peter.Sauerbrei, Allan.Bentham
#ROBOMERGE-OWNER: jack.porter
#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 12057106 via CL 12057107 via CL 12057110 via CL 12057112
#ROBOMERGE-BOT: (v656-11643781)
[CL 12057117 by jack porter 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]
Incrementing ShaderGlslVersion to avoid compile errors
#ushell-cherrypick of 10480027 by Florin.Pascu
#rb Dmitriy.Dyomin, Jack.Porte, Allan Bentham
#ROBOMERGE-OWNER: florin.pascu
#ROBOMERGE-AUTHOR: florin.pascu
#ROBOMERGE-SOURCE: CL 10505362 via CL 10505365 via CL 10505439
#ROBOMERGE-BOT: (v606-10482310)
[CL 10505450 by florin pascu in Main branch]
#rb Chris.Babcock
[CODEREVIEW] [at]Florin.Pascu,[at]Dmitriy.Dyomin, [at]Jack.Porter
#tests Android Client in openGL and Vulkan on S10+
#preflight https://ec-01.epicgames.net/commander/link/jobDetails/jobs/9754303?
#ROBOMERGE-OWNER: thomas.ross
#ROBOMERGE-AUTHOR: thomas.ross
#ROBOMERGE-SOURCE: CL 10332513 via CL 10333274 via CL 10333320
#ROBOMERGE-BOT: (v594-10333955)
[CL 10339731 by thomas ross in Main branch]
Replicated from CL# 7924370.
#rb none
#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)
[CL 9279836 by steve robb in Main branch]
If mobile takes > 10s for GC to complete then increase threshold to 30s, log usage of additional time and trigger report from hitch detector.
Add delegate which is called when GC extended time was used.
Increase Android GC timeout to match iOS.
#rnx
#rb Robert.Manuszewski
[FYI] Peter.Sauerbrei, Gil.Gribb, Robert.Manuszewski
#ROBOMERGE-SOURCE: CL 7669647 via CL 7669654 via CL 7676238
#ROBOMERGE-BOT: (v381-7673386)
[CL 7676438 by allan bentham in Main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 7261528 via CL 7261532 via CL 7262574 via CL 7262592 via CL 7270630
#ROBOMERGE-BOT: (v369-7254125)
[CL 7270780 by allan bentham in Main branch]
#rnx
#rb jack.porter
#ROBOMERGE-SOURCE: CL 7261343 via CL 7261346 via CL 7262000 via CL 7262009 via CL 7268293
#ROBOMERGE-BOT: (v369-7254125)
[CL 7268414 by allan bentham in Main branch]
[CODEREVIEW] allan.bentham
[CODEREVIEW] Dmitriy.Dyomin
#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 7099317 via CL 7099318 via CL 7099319 via CL 7109380
#ROBOMERGE-BOT: (v367-6836689)
[CL 7109382 by marc audy in Main branch]
Solve issues during start-up where the HW window can be created/lost before the game can use it or OS displaying android ANR message if GT is too busy to respond to system events.
Window access is guarded with mutex that guarantees a valid window HW exists when locked.
Rendering thread is blocked when the window is lost (to prevent RHIs accessing surfaces belonging to the lost window)
Window dimensions are cached so that most window dimension queries just read from the cache.
[FYI] chris.babcock, Ryan.Vance
#rb jack.porter, chris.babcock,Dmitriy.Dyomin
#ROBOMERGE-OWNER: allan.bentham
#ROBOMERGE-AUTHOR: allan.bentham
#ROBOMERGE-SOURCE: CL 7062033 via CL 7062034 via CL 7062345
#ROBOMERGE-BOT: (v367-6836689)
[CL 7062346 by allan bentham in Main branch]
Don't wait indefinitely for a native window in Daydream if the application is exiting.
Fixes a bug that leaves a defunct process when dismissing the dialog to put the phone in the daydream headset preventing the application from being launched without killing it first.
#jira UE-46640
#rb Chris.Babcock
[CL 5261967 by Keli Hlodversson in Main branch]
Revert to naive frame pacer entirely after 100 consecutive failed frames.
Tweaked EGL extension enumeration output slightly to help differentiate.
#rb chris.babcock
#ROBOMERGE-SOURCE: CL 5036512 via CL 5036513 via CL 5036560
[CL 5042538 by allan bentham in Main branch]