Running a game with -d3ddebug spams with FENCE_ZERO_WAIT

We were running a game with -d3ddebug -rdgimmediate -forcerhibypass -onethread with Agility SDK (1.616) and get following warnings, which spam to a log file a lot:

D3D12 WARNING: ID3D12CommandQueue1::Wait: Fence values can never be less than zero, so waiting for a fence value of zero will always be satisfied [ EXECUTION WARNING #1424: FENCE_ZERO_WAIT] D3D12 WARNING: ID3D12Fence1::SetEventOnCompletion: Fence values can never be less than zero, so waiting for a fence value of zero will always be satisfied [ EXECUTION WARNING #1424: FENCE_ZERO_WAIT]Checked at runtime and no any queue waits on 0 and no any fence SetEventOnCompletion uses 0 fence. Obviously there is no negative as well as its uint64. Could it be a bug in AgilitySDK 1.616? What should we check before report to Microsoft?

Steps to Reproduce
Run a game with -d3ddebug -rdgimmediate -forcerhibypass -onethread and observe logs

Hello,

This could be a bug in the Agility SDK if you’re not seeing any matching fence times, we don’t have reports of this issue yet and I haven’t been able to reproduce it in latest yet. You may also be able to silence the warning to avoid the spam by updating the DenyIds filter in FD3D12Adapter::CreateD3DInfoQueue.

Also, as a reminder, Epic is on holiday break from 6/30 - 7/11, returning on 7/14. Confidential issues will be unanswered during that time and responses to non-confidential issues may be slow.

I actually added the following line in BaseEngine.ini: `+D3D12.Validation.BreakOnMessageID=1424`

It allowed to break on specific fence instead of warning. It was in `d3dx12residency.h` in ExecuteSubset function:

hr = AsyncThreadFence.GPUWait(Queue).

Adding condition solved the problem