#jira UE-127183
#rb maxwell.hayes
#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 17576522 via CL 17576644 via CL 17576667 via CL 17576676 via CL 17576684
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v871-17566257)
[CL 17576688 by jimmy smith in ue5-main branch]
- Ripping out all non-stream PSO creation now that we're locked into ID3D12Device2 support.
- Tidying up some VendorExtension handling.
- Renaming FD3D12QuantizedBoundShaderState::bUseVendorExtension to bNeedsAgsIntrinsicsSpace to be more explicit on what it does. This was accidentally being enabled when Nvidia extensions were used in Compute shaders.
#jira none
#rb kenzo.terelst
#preflight 61421909599fd80001612a3c
[CL 17524838 by christopher waters in ue5-main branch]
#rb phil.popp
#ROBOMERGE-AUTHOR: jimmy.smith
#ROBOMERGE-SOURCE: CL 17513538 via CL 17514443 via CL 17514552 via CL 17514569 via CL 17514572
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)
[CL 17514580 by jimmy smith in ue5-main branch]
DXGI_FORMAT_R32G8X24_TYPELESS and related formats are 8 byte stride, not 5 byte, according to D3D documentation and Microsoft sample code that processes these formats. The original code would never have worked, and is likely only used for debug purposes for perf reasons, so it seems safe to fix.
#rb jason.nadro eric.mcdaniel
#jira UE-121183
#rnx
[CL 17251778 by jason hoerner in ue5-main branch]
This should fully address UniformBufferLayout/UniformBuffer crashes that randomly happen during shader compiling in the Editor.
#jira none
#rb arciel.rekman, ben.ingram, mihnea.balta, stu.mckenna, will.damon
#preflight 611eb6c6008be90001f8b031
[CL 17243608 by christopher waters in ue5-main branch]
* Issue is that the adapters were referenced by index
* Adapters enumeration was sometime performed using EnumAdapters() vs EnumAdapterByGpuPreference()
* Using the same index for both calls would result in different adapters being returned...
On AWS g4ad.16xlarge instances, this issue would cause the engine to think it had selected a discrete adapter, while in fact it created a WARP (software) adapter...
#rb christopher.waters
#preflight 611a817e8ff5540001d5e805
#ROBOMERGE-SOURCE: CL 17176596
#ROBOMERGE-BOT: (v855-17104924)
[CL 17176598 by sebastien lussier in ue5-main branch]
useful for RVT on mobile platforms, to save the cost of runtime compression
#rb Dmitriy.Dyomin mihnea.balta
[CL 16872220 by yangke li in ue5-main branch]
#rb kenzo.terelst
#preflight 60c9ebb93e1b3c0001400246
- The original code is using ::LoadLibrary with a relative path to find the dll and when running from staged data via -basedir= we will be relying on that path being relative to the current directory set by the command line. However many modules call FPlatformProcess::PushDllDirectory/PopDllDirectory to find dlls and when all of the paths are fully popped we will call ::SetDllDirectory with an empty string which will remove the current directory from the list of valid paths for ::LoadLibrary to search.
- To fix this we can call FPlatformProcess::PushDllDirectory/PopDllDirectory ourselves, with the location of the dll and then request the handle of the dll instead (examples of this can be found in other modules)
- When running with DX12 we no longer attempt to enable NvAftermath if we previously failed to find the dll in order to prevent a crash. We do this by recording if the dll has been loaded or not via a new global variable GDX12NVAfterMathModuleLoaded, similar to how the DX11 code path tracks this.
[CL 16690777 by paul chipchase in ue5-main branch]
Integration touches several places in the engine:
1) SoundWave -- A check box enables Bink Audio as the codec of choice for that sound wave.
2) Decoder - Each supported platform's AudioMixer now returns BINK if the soundwave requests it. Additionally, the TargetPlatform returns BINK as an available codec, and returns it to the cooking code if the sound wave requests it.
3) Encode - TargetPlatform.Build.cs adds the encoder to the editor dependencies, and it gets picked up in the TPMM formats search.
[CL 16682710 by Dan Thompson in ue5-main branch]