Commit Graph

870 Commits

Author SHA1 Message Date
Luke Thatcher
ee64a28f30 Copying //UE5/Dev-ParallelRendering to //UE5/Main
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]
2022-03-14 09:14:58 -04:00
christopher waters
b7f30cbbaf Adding minimal interfaces to D3D11 and D3D12 RHIs
- Adding ID3D12DynamicRHI and ID3D11DynamicRHI interfaces for plugins that want to touch DirectX resources/devices directly.
- Adding specific headers for including DirectX headers: D3D12ThirdParty.h and D3D11ThirdParty.h
- Modifying plugins that were using D3D11RHIPrivate.h and D3D12RHIPrivate.h to use the interfaces instead.
- Removing plugin references to UE Modules and ThirdParty libraries that were only needed because they included the private RHI headers.
- Removing D3D11RHI/Private and D3D12RHI/Private from plugin include paths.

#jira none
#rb jeannoe.morissette, kenzo.terelst, mihnea.balta, eric.mcdaniel
#preflight 6222395bb066ef60bbad004a

[CL 19267223 by christopher waters in ue5-main branch]
2022-03-04 11:34:00 -05:00
christopher waters
6d4ca5b847 Fixing invalid call to INTC_D3D11_GetSupportedVersions where the pSupportedExtVersionsCount argument needs to contain the correct count. This is preventing Nanite from rendering on discrete Intel video cards.
#jira UE-143610
#rb kenzo.terelst, jeannoe.morissette, lukas.hermanss
#preflight 6217b349785f20248baa3b03

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 19115910 in //UE5/Release-5.0/... via CL 19116142
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19153312 by christopher waters in ue5-main branch]
2022-02-25 14:34:53 -05:00
aaron mcleran
158c3a5b16 Removing restricted platform names from file
#rb Maxwell.Hayes
#jira UE-130476
#preflight 6216c015a45a91013f430d08


#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 19106676 via CL 19107096 via CL 19107208 via CL 19107219 via CL 19110186
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19151559 by aaron mcleran in ue5-main branch]
2022-02-25 13:27:37 -05:00
christopher waters
a2503f0872 Adding ERHIInterfaceType so the public RHIs can identify themselves.
Adding templated GetDynamicRHI that makes sure we don't cast the Validation DynamicRHI by accident.

#jira none
#rb jeannoe.morissette, zach.bethel
#preflight 62169c43104496cff8a1d9df

[CL 19100864 by christopher waters in ue5-main branch]
2022-02-23 16:13:31 -05:00
christopher waters
940e858169 Finishing move to ComputePipelineState objects
- Deprecating IRHIComputeContext::RHISetComputeShader.
- Moving the fallback version of  RHISetComputePipelineState to IRHICommandContextPSOFallback.
- Making IRHIComputeContext::RHISetComputePipelineState pure virtual.
- Moving the fallback versions of RHICreateGraphicsPipelineState and RHICreateComputePipelineState into the new FDynamicRHIPSOFallback for platforms that were already using IRHICommandContextPSOFallback.
- Making FDynamicRHI::RHICreateGraphicsPipelineState and FDynamicRHI::RHICreateComputePipelineState pure virtual.

#jira none
#rb luke.thatcher, florin.pascu, will.damon, jeannoe.morissette
#preflight 621660bcc152c67496d9cc75

[CL 19095306 by christopher waters in ue5-main branch]
2022-02-23 13:17:16 -05:00
aaron mcleran
7e436c45ab Making sure codecs match up on cook vs runtime
#rb Maxwell.Hayes
#jira UE-141273
#preflight 6201b20d62420bfd049b13c3

#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 18911813 in //UE5/Release-5.0/... via CL 18919379 via CL 18920558
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18921347 by aaron mcleran in ue5-main branch]
2022-02-09 13:20:11 -05:00
jimmy smith
671c68d9b3 Fix ToStringHelper Non-unity CIS issue.
#jira UE-140535
#rb aaron.mcleran
#rb phil.popp
#preflight 6201caad97149bc07a91a458

#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 18904384 in //UE5/Release-5.0/... via CL 18904476 via CL 18904619
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v913-18904215)

[CL 18904638 by jimmy smith in ue5-main branch]
2022-02-08 12:45:23 -05:00
christopher waters
227ac32a63 Removing deprecated RHI functions
#jira none
#rb luke.thatcher, dmitriy.dyomin, florin.pascu, zach.bethel, jeannoe.morissette
#preflight 61fb00ca5e35b9215b01b7d0

[CL 18844394 by christopher waters in ue5-main branch]
2022-02-03 12:09:32 -05:00
robert srinivasiah
3737a45475 Hololens: Dedicated Shader Platform
We can't share DDPI infrastructure with PC D3D ES3.1 because of conflicts from sharing. We need a separate shader platform.
For now, we'll just 'intrusively' plumb the new Hololens shader platform. In the future, we want to move as much code out into
Hololens-specific platform code to reduce conflict with shared paths that don't need to know about Hololens.

#rb steve.smith, christopher.waters
#jira UE-133375
#preflight 61f9ca302251c6fb596e583e

#ROBOMERGE-AUTHOR: robert.srinivasiah
#ROBOMERGE-SOURCE: CL 18818524 in //UE5/Release-5.0/... via CL 18818546 via CL 18822881
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824735 by robert srinivasiah in ue5-main branch]
2022-02-02 08:00:15 -05:00
aaron mcleran
8db0b74958 Cleaning up codec definitions on soundwaves.
- Adding new enumeration to select PCM, ADPCM, Bink, and "platform specific"
- Updated platform codecs and various APIs to select correctly which codec to use
- Changed "is seekable streaming" semantics to "Is Seekable" since that is more correct in a post-stream-caching world
- Tried to clean up platform backends. Unable to move Bink decoder to multiplatform code because of module dependencies, will require a future refactor of our decoder module setup.

#rb Phil.Popp, Jimmy.Smith
#jira UE-140860
#preflight 61f97ad7f02e20f45add6d45

#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 18813332 in //UE5/Release-5.0/... via CL 18813341 via CL 18822758
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824290 by aaron mcleran in ue5-main branch]
2022-02-02 07:35:13 -05:00
christopher waters
112a73b5c6 Adding depth clip control to the rasterizer state.
#jira UE-85381
#rb mihnea.balta, will.damon, jeannoe.morissette, arciel.rekman, luke.thatcher, eric.mcdaniel, florin.pascu, dmitriy.dyomin
#preflight 61f8545c114ec25fe0b4d12c

[CL 18799473 by christopher waters in ue5-main branch]
2022-01-31 17:28:38 -05:00
jimmy smith
c30a34c5b8 Incremental Refactor XAudio2, move stringify error codes into StringHelper
[CODEREVIEW] 18760692
#preflight 61f306361f12674afbc21105

#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 18761821 in //UE5/Release-5.0/... via CL 18761887 via CL 18763071
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18763424 by jimmy smith in ue5-main branch]
2022-01-27 17:09:32 -05:00
jimmy smith
a5fa4e126f Fix AudioMixer XAudio2 to recover after failing to init, allowing for device swap after a open failture. Also strip out DLL fallback code as was causing issues with init recovery.
#rb aaron.mcleran phil.popp
[FYI] sondra.moyls
#jira UE-139275
#preflight 61f1d13de12e3fcf9b27d0cc

#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 18747223 in //UE5/Release-5.0/... via CL 18747233 via CL 18747298
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18747310 by jimmy smith in ue5-main branch]
2022-01-26 18:21:15 -05:00
jeannoe morissette
c513b4ef5a Loop on PendingDeletes in DX11 (matches behavior on DX12 and Vulkan) since freeing resources can cause new pending deletes.
#rb christopher.waters,mihnea.balta
#jira UE-126789
#preflight 61f184387266f4e79bd70ba0

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 18737874 in //UE5/Release-5.0/... via CL 18738330 via CL 18739354
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18739951 by jeannoe morissette in ue5-main branch]
2022-01-26 13:53:59 -05:00
christopher waters
945a3112f0 Workaround for static analysis warning C6385, if we pass in SupportedExtensionsVersionCount to INTC_D3D11_GetSupportedVersions the second time, the static analyzer thinks it may be different from the first call.
#jira none
#rb trivial
#preflight 61f03ddc716bb9c66a2dc26f

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18725708 in //UE5/Release-5.0/... via CL 18725720 via CL 18725976
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18726019 by christopher waters in ue5-main branch]
2022-01-25 13:56:26 -05:00
christopher waters
c08bc8a9cd Intel extensions for 64bit atomics
#jira none
#rb mihnea.balta, graham.wihlidal
#preflight 61eeeb29ba69a4fdb219e68f

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18712534 in //UE5/Release-5.0/... via CL 18712568 via CL 18712835
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18712869 by christopher waters in ue5-main branch]
2022-01-24 14:48:23 -05:00
james doverspike
cba102fd02 CVar to crash on GPU OOM
#ROBOMERGE-AUTHOR: james.doverspike
#ROBOMERGE-SOURCE: CL 18668822 via CL 18668957 via CL 18669174 via CL 18669351 via CL 18669437 via CL 18669446 via CL 18669671 via CL 18669682 via CL 18669689
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v901-18665521)

[CL 18669702 by james doverspike in ue5-main branch]
2022-01-19 19:37:53 -05:00
christopher waters
239071b670 Deprecating RHIGetResourceInfo in favor of FRHIResource::GetResourceInfo
#jira none
#rb zach.bethel, kenzo.terelst, jeannoe.morissette
#preflight 61e0b550250b9537f786b332

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18618143 in //UE5/Release-5.0/... via CL 18618166 via CL 18618188
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18618216 by christopher waters in ue5-main branch]
2022-01-14 10:59:44 -05:00
jimmy smith
4d1f440d09 Another no unity, non-windows CIS fix.
#jira none
#rnx
#preflight 61de5c476a076ddb53d71a52

#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 18581549 in //UE5/Release-5.0/... via CL 18581564 via CL 18581565
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18581568 by jimmy smith in ue5-main branch]
2022-01-12 00:37:14 -05:00
jimmy smith
ae4e185f41 Fix CIS non-windows, nounity
#jira none
#rnx
#preflight skip

#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 18580230 in //UE5/Release-5.0/... via CL 18580258 via CL 18580270
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18580279 by jimmy smith in ue5-main branch]
2022-01-11 20:54:34 -05:00
jimmy smith
62e20179a6 Cleanup XAudio2Windows glut and break out into smaller more manageable pieces.
#rb phill.popp
#jira none
#preflight 61de017acd2cced7106da86d

#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 18577744 in //UE5/Release-5.0/... via CL 18577792 via CL 18577804
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18577946 by jimmy smith in ue5-main branch]
2022-01-11 17:38:31 -05:00
sebastien hillaire
3fa07b8184 Adding UAV view slice start index and size parameters to UAV creation.
RHIs interface update.
Not implemented on Switch, Mac and OpenGL yet.

Tested with Strata on pc dx11/dx12, xb1 base, ps4 and ps5.
Tested wihtout Strata on pc and ps4.
ShooterGame test on PC
Mac preflight https://horde.devtools.epicgames.com/job/61b268709947f1ef980c602e
#preflight test https://horde.devtools.epicgames.com/job/61b26827b13fefb344312f11

#rb RHI, Console

#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 18508188 in //UE5/Release-5.0/... via CL 18508208
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18508217 by sebastien hillaire in ue5-release-engine-test branch]
2022-01-04 11:08:22 -05:00
christopher waters
0b0457558b Moving RHIIsTypedUAVLoadSupported and RHIIsTypedUAVStoreSupported out of FDynamicRHI. New versions now use TextureFormat Capability flags.
#jira none
#rb mihnea.balta
#preflight 61ba46c8055f3013459a5b62

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18476758 in //UE5/Release-5.0/... via CL 18481366
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481459 by christopher waters in ue5-release-engine-test branch]
2021-12-16 19:29:23 -05:00
Mattiwatti
781330ecc8 Adding GRHISupportsMapWriteNoOverwrite to check at runtime if RLM_WriteOnly_NoOverwrite is supported.
Motivated by changes from PR #7423

#jira UE-116122
#rb mihnea.balta
#preflight 61b92ee77618e01ffb2085f9

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18469448 in //UE5/Release-5.0/... via CL 18469481
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18469508 by Mattiwatti in ue5-release-engine-test branch]
2021-12-15 14:15:45 -05:00