#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]
PipelineStateCache specifically can now enqueue commands but this should also catch any other uses before here.
Adding explicit Command List argument to FRHIResource::FlushPendingDeletes to a) emphasize that it enqueues commands and b) allow the caller the option to flush the command list afterwards.
#jira none
#rb Arne.Schober
#preflight 60a6c7f60569f300012d6d01
[CL 16411660 by christopher waters in ue5-main branch]
Adding usage text to rhi.DumpResourceMemory.
Tweaking rhi.DumpResourceMemory output to be more explicit with the number of items shown.
#jira none
#rb kenzo.terelst
#preflight 60917d13a370e100017d3813
[CL 16197762 by christopher waters in ue5-main branch]
rhi.DumpResourceMemory dumps the memory usage of each RHI resource if the type is instrumented. Currently only fully implemented for Textures and Buffers in D3D11 and D3D12.
rhi.DumpResourceCounts dumps the counts of each resource type. Should work for all RHIs.
Repurposed FRHIResourceInfo to use for generic resource info. Removed older uses of it that didn't actually provide data.
Made ERHIResourceType required to construct an FRHIResource.
Adding Name to FRHIBuffer.
Removed the unused FVulkanBuffer.
Removed the unused FOpenGLTexture and FOpenGLBaseTexture.
#jira none
#rb kenzo.terelst
#preflight 60902efd7d9bf90001766572
[CL 16186890 by christopher waters in ue5-main branch]