VK/WGPU: drain a view's blits and uniform cache before its dispatches. VK: block on the swapchain image of window framebuffers on a headless device (#3989)

This commit is contained in:
Branimir Karadžić
2026-09-18 13:41:57 +00:00
committed by GitHub
parent 1512f4d961
commit 1fb47dca7a
2 changed files with 24 additions and 1 deletions
+11 -1
View File
@@ -3476,8 +3476,12 @@ VK_IMPORT_DEVICE
);
}
const bool block = !isValid(_fbh)
|| NULL == m_backBuffer.m_swapChain.m_nwh
;
int64_t start = bx::getHPCounter();
newFrameBuffer.acquire(m_commandBuffer, !isValid(_fbh) );
newFrameBuffer.acquire(m_commandBuffer, block);
m_presentElapsed += bx::getHPCounter() - start;
}
@@ -10778,6 +10782,12 @@ VK_DESTROY
}
}
if (viewChanged)
{
submitUniformCache(ucs, view);
submitBlit(bs, view);
}
// renderpass external subpass dependencies handle graphics -> compute and compute -> graphics
// but not compute -> compute (possibly also across views if they contain no draw calls)
setMemoryBarrier(