FidelityFX-SDK
FidelityFX-SDK copied to clipboard
Null exception Dx12Commands* get(ID3D12CommandQueue* pQueue, const wchar_t* name) in the unreal plugin
Dx12Commands* get(ID3D12CommandQueue* pQueue, const wchar_t* name)
{
D3D12_COMMAND_QUEUE_DESC queueDesc = pQueue->GetDesc();
EnterCriticalSection(&criticalSection_);
Dx12Commands* pCommands = nullptr;
for (size_t idx = 0; idx < Capacity && (pCommands == nullptr); idx++)
{
auto& cmds = buffer[queueDesc.Type][idx];
if (cmds.verify(pQueue) && cmds.available())
{
pCommands = &cmds;
}
}
FFX_ASSERT(pCommands);
pCommands->occupy(pQueue, name);
LeaveCriticalSection(&criticalSection_);
return pCommands;
}
};
pCommands can somehow be null. It happened once to one of our QA
Here is the stack trace
Dx12CommandPool<T>::get (fidelityfx-sdk\src\backends\dx12\FrameInterpolationSwapchain\FrameInterpolationSwapchainDX12_Helpers.h:240)
FrameInterpolationSwapChainDX12::presentWithUiComposition (fidelityfx-sdk\src\backends\dx12\FrameInterpolationSwapchain\FrameInterpolationSwapchainDX12.cpp:1041)
FrameInterpolationSwapChainDX12::Present (fidelityfx-sdk\src\backends\dx12\FrameInterpolationSwapchain\FrameInterpolationSwapchainDX12.cpp:1223)
FD3D12Viewport::PresentChecked
FD3D12Viewport::Present
FD3D12CommandContextBase::RHIEndDrawingViewport
FRHICommand<T>::ExecuteAndDestruct
FRHICommandListBase::Execute
operator==
TGraphTask<T>::ExecuteTask
FNamedTaskThread::ProcessTasksNamedThread
FNamedTaskThread::ProcessTasksUntilQuit
FRHIThread::Run
FRunnableThreadWin::Run
FRunnableThreadWin::GuardedRun
Called from
KERNEL32
<unknown>