be2aafff1a
Temporarily abandons the idea to fuse waiters with execution. For whatever reason, this seemed to cause random flicker in Halo Infinite with async compute on, and I have failed to figure out exactly why. By playing around with how commands are fused, the results changed dramatically, which means I doubt vkd3d-proton was actually at fault here. There is some questionable code around UpdateTileMappings in the game where a COPY queue is used, and it does not seem to synchronize this with other queues as far as I can tell. It is uncertain at this time if D3D12 requires a tile update to synchronize with *every* queue or just the queue being submitted to. We assume the latter, as it's the only behavior that makes sense. It is possible that submitting waits as they are queued up affects synchronization between queues in unexpected ways. When separating out the wait operations, everything appears to work. It is also simpler code. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no> |
||
---|---|---|
.. | ||
d3d12 | ||
vkd3d | ||
vkd3d-common | ||
vkd3d-shader | ||
vkd3d-utils | ||
.gitignore | ||
meson.build |