pvr: serialize maple_int_pending. don't rend_reset in rend_term

This commit is contained in:
Flyinghead 2020-12-16 14:44:45 +01:00
parent 3f1326a3ac
commit 650c3ff8ae
4 changed files with 11 additions and 7 deletions

View File

@ -302,7 +302,6 @@ void rend_init_renderer()
void rend_term_renderer()
{
rend_reset();
if (renderer != NULL)
{
renderer->Term();

View File

@ -2,6 +2,7 @@
#include "hw/holly/holly_intc.h"
#include "hw/holly/sb.h"
#include "hw/sh4/sh4_sched.h"
#include "input/gamepad_device.h"
#include "oslib/oslib.h"
#include "rend/TexCache.h"
@ -64,7 +65,7 @@ void CalculateSync()
static u32 lightgun_line = 0xffff;
static u32 lightgun_hpos;
static bool maple_int_pending;
bool maple_int_pending;
u32 fskip;
@ -118,7 +119,7 @@ int spg_line_sched(int tag, int cycl, int jit)
break;
}
//Vblank start -- really need to test the scanline values
//Vblank start
if (prv_cur_scanline==0)
{
if (SPG_CONTROL.interlace)
@ -126,10 +127,9 @@ int spg_line_sched(int tag, int cycl, int jit)
else
SPG_STATUS.fieldnum=0;
//Vblank counter
vblk_cnt++;
//TODO : rend_if_VBlank();
rend_vblank();//notify for vblank :)
rend_vblank();
#ifdef TEST_AUTOMATION
replay_input();
#endif

View File

@ -130,6 +130,7 @@ extern u32 in_vblank;
extern u32 clc_pvr_scanline;
extern int render_end_schid;
extern int vblank_schid;
extern bool maple_int_pending;
//./core/hw/pvr/ta.o
extern u8 ta_fsm[2049]; //[2048] stores the current state
@ -374,6 +375,7 @@ bool dc_serialize(void **data, unsigned int *total_size)
REICAST_S(in_vblank);
REICAST_S(clc_pvr_scanline);
REICAST_S(maple_int_pending);
REICAST_S(fb_w_cur);
REICAST_S(ta_fsm[2048]);
@ -977,7 +979,10 @@ bool dc_unserialize(void **data, unsigned int *total_size)
REICAST_SKIP(2048); // ta_fsm
}
if (version >= V12)
{
REICAST_US(maple_int_pending);
REICAST_US(fb_w_cur);
}
else
fb_w_cur = 1;
REICAST_US(ta_fsm[2048]);

View File

@ -28,7 +28,7 @@ TEST_F(SerializeTest, SizeTest)
unsigned int total_size = 0;
void *data = nullptr;
ASSERT_TRUE(dc_serialize(&data, &total_size));
ASSERT_EQ(28145462u, total_size);
ASSERT_EQ(28145463u, total_size);
}