disable rdp sync optimization to be safe (#229)

This commit is contained in:
Logan McNaughton
2025-02-08 21:20:59 +01:00
committed by GitHub
parent a9afd6bb5c
commit 271e4be68c
5 changed files with 1 additions and 15 deletions
-1
View File
@@ -99,7 +99,6 @@ fn main() {
.allowlist_function("rdp_set_vi_register")
.allowlist_function("rdp_update_screen")
.allowlist_function("rdp_process_commands")
.allowlist_function("rdp_full_sync")
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
.generate()
.expect("Unable to generate bindings");
+1 -7
View File
@@ -62,7 +62,6 @@ static int cmd_cur;
static int cmd_ptr;
static bool emu_running;
static GFX_INFO gfx_info;
static uint64_t sync_signal;
static const unsigned cmd_len_lut[64] = {
1,
@@ -393,7 +392,7 @@ uint64_t rdp_process_commands()
if (RDP::Op(command) == RDP::Op::SyncFull)
{
sync_signal = processor->signal_timeline();
processor->wait_for_timeline(processor->signal_timeline());
interrupt_timer = 60000;
}
@@ -407,8 +406,3 @@ uint64_t rdp_process_commands()
return interrupt_timer;
}
void rdp_full_sync()
{
processor->wait_for_timeline(sync_signal);
}
-1
View File
@@ -23,7 +23,6 @@ extern "C"
void rdp_set_vi_register(uint32_t reg, uint32_t value);
bool rdp_update_screen();
uint64_t rdp_process_commands();
void rdp_full_sync();
#ifdef __cplusplus
}
-2
View File
@@ -196,8 +196,6 @@ pub fn init(device: &mut device::Device) {
}
fn rdp_interrupt_event(device: &mut device::Device) {
ui::video::full_sync();
device.rdp.regs_dpc[DPC_STATUS_REG as usize] &=
!(DPC_STATUS_START_GCLK | DPC_STATUS_PIPE_BUSY | DPC_STATUS_CMD_BUSY);
-4
View File
@@ -58,10 +58,6 @@ pub fn update_screen() -> bool {
unsafe { rdp_update_screen() }
}
pub fn full_sync() {
unsafe { rdp_full_sync() }
}
pub fn set_register(reg: u32, value: u32) {
unsafe {
rdp_set_vi_register(reg, value);