AVIDump: Move CoreTiming into caller.

This commit is contained in:
degasus
2016-10-08 12:56:28 +02:00
parent a583d36c7f
commit 9f264c0872
22 changed files with 63 additions and 48 deletions

View File

@ -638,7 +638,7 @@ u32 GetTicksPerField()
return GetTicksPerEvenField();
}
static void BeginField(FieldType field)
static void BeginField(FieldType field, u64 ticks)
{
// Could we fit a second line of data in the stride?
bool potentially_interlaced_xfb =
@ -707,7 +707,7 @@ static void BeginField(FieldType field)
// To correctly handle that case we would need to collate all changes
// to VI during scanout and delay outputting the frame till then.
if (xfbAddr)
g_video_backend->Video_BeginField(xfbAddr, fbWidth, fbStride, fbHeight);
g_video_backend->Video_BeginField(xfbAddr, fbWidth, fbStride, fbHeight, ticks);
}
static void EndField()
@ -717,7 +717,7 @@ static void EndField()
// Purpose: Send VI interrupt when triggered
// Run when: When a frame is scanned (progressive/interlace)
void Update()
void Update(u64 ticks)
{
if (s_half_line_of_next_si_poll == s_half_line_count)
{
@ -726,11 +726,11 @@ void Update()
}
if (s_half_line_count == s_even_field_first_hl)
{
BeginField(FIELD_EVEN);
BeginField(FIELD_EVEN, ticks);
}
else if (s_half_line_count == s_odd_field_first_hl)
{
BeginField(FIELD_ODD);
BeginField(FIELD_ODD, ticks);
}
else if (s_half_line_count == s_even_field_last_hl)
{