FenceManager: Manage syncpoints and rename fences to semaphores.

This commit is contained in:
Fernando Sahmkow 2020-02-19 13:40:37 -04:00
parent 96bb961a64
commit b7bc3c2549
11 changed files with 123 additions and 25 deletions

View file

@ -405,7 +405,7 @@ void Maxwell3D::ProcessQueryGet() {
switch (regs.query.query_get.operation) {
case Regs::QueryOperation::Release:
if (regs.query.query_get.fence == 1) {
rasterizer.SignalFence(regs.query.QueryAddress(), regs.query.query_sequence);
rasterizer.SignalSemaphore(regs.query.QueryAddress(), regs.query.query_sequence);
} else {
StampQueryResult(regs.query.query_sequence, regs.query.query_get.short_query == 0);
}
@ -487,7 +487,7 @@ void Maxwell3D::ProcessSyncPoint() {
const u32 increment = regs.sync_info.increment.Value();
[[maybe_unused]] const u32 cache_flush = regs.sync_info.unknown.Value();
if (increment) {
system.GPU().IncrementSyncPoint(sync_point);
rasterizer.SignalSyncPoint(sync_point);
}
}