mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2025-01-18 06:25:37 +00:00
DMA: Delay GPU transfers by block count
Needs real GPU timings, but fixes NFS5 in the meantime.
This commit is contained in:
parent
41cf894488
commit
0639f4264f
|
@ -197,6 +197,15 @@ TickCount DMA::GetTransferDelay(Channel channel) const
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Channel::GPU:
|
||||||
|
{
|
||||||
|
if (cs.channel_control.sync_mode == SyncMode::Request)
|
||||||
|
return cs.block_control.request.GetBlockCount();
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,6 @@ public:
|
||||||
private:
|
private:
|
||||||
static constexpr PhysicalMemoryAddress BASE_ADDRESS_MASK = UINT32_C(0x00FFFFFF);
|
static constexpr PhysicalMemoryAddress BASE_ADDRESS_MASK = UINT32_C(0x00FFFFFF);
|
||||||
static constexpr PhysicalMemoryAddress ADDRESS_MASK = UINT32_C(0x001FFFFC);
|
static constexpr PhysicalMemoryAddress ADDRESS_MASK = UINT32_C(0x001FFFFC);
|
||||||
static constexpr u32 TRANSFER_TICKS = 10;
|
|
||||||
|
|
||||||
enum class SyncMode : u32
|
enum class SyncMode : u32
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue