vkd3d-proton/libs
Hans-Kristian Arntzen be2aafff1a vkd3d: Resolve fence waiters early.
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>
2022-07-21 21:10:34 +02:00
..
d3d12 d3d12: Do not export ordinals for most symbols. 2021-10-12 11:09:16 +01:00
vkd3d vkd3d: Resolve fence waiters early. 2022-07-21 21:10:34 +02:00
vkd3d-common vkd3d-common: Add strequal_mixed between WCHAR and ASCII. 2022-07-11 12:37:34 +02:00
vkd3d-shader vkd3d: Fail creating root signatures from blobs without RTS0. 2022-07-20 12:00:07 +02:00
vkd3d-utils d3d12: Do not export ordinals for most symbols. 2021-10-12 11:09:16 +01:00
.gitignore libs/vkd3d: Trace build version. 2018-06-27 22:43:49 +02:00
meson.build meta: Add missing newlines to end of files 2020-11-05 17:16:57 +01:00