DMA: Delay GPU transfers by block count

Needs real GPU timings, but fixes NFS5 in the meantime.
pull/22/head
Connor McLaughlin 5 years ago
parent 41cf894488
commit 0639f4264f

@ -197,6 +197,15 @@ TickCount DMA::GetTransferDelay(Channel channel) const
}
break;
case Channel::GPU:
{
if (cs.channel_control.sync_mode == SyncMode::Request)
return cs.block_control.request.GetBlockCount();
else
return 1;
}
break;
default:
return 1;
}

@ -54,7 +54,6 @@ public:
private:
static constexpr PhysicalMemoryAddress BASE_ADDRESS_MASK = UINT32_C(0x00FFFFFF);
static constexpr PhysicalMemoryAddress ADDRESS_MASK = UINT32_C(0x001FFFFC);
static constexpr u32 TRANSFER_TICKS = 10;
enum class SyncMode : u32
{

Loading…
Cancel
Save