From 750ac8f4de178a9ce53a9b3c9c558509a0fa8ee3 Mon Sep 17 00:00:00 2001 From: Rosalie Wanders Date: Sun, 16 Feb 2025 01:06:41 +0100 Subject: [PATCH] 3rdParty: experimental changes to mupen64plus-video-parallel --- .../mupen64plus-video-parallel/gfx_m64p.cpp | 7 +----- .../parallel_imp.cpp | 25 +------------------ .../mupen64plus-video-parallel/parallel_imp.h | 1 - 3 files changed, 2 insertions(+), 31 deletions(-) diff --git a/Source/3rdParty/mupen64plus-video-parallel/gfx_m64p.cpp b/Source/3rdParty/mupen64plus-video-parallel/gfx_m64p.cpp index bb7934811..e624365df 100644 --- a/Source/3rdParty/mupen64plus-video-parallel/gfx_m64p.cpp +++ b/Source/3rdParty/mupen64plus-video-parallel/gfx_m64p.cpp @@ -66,7 +66,7 @@ void (*render_callback)(int); m64p_handle configVideoParallel = NULL; #define PLUGIN_VERSION 0x000001 -#define VIDEO_PLUGIN_API_VERSION 0x020201 +#define VIDEO_PLUGIN_API_VERSION 0x020200 #define DP_INTERRUPT 0x20 uint32_t rdram_size; @@ -289,11 +289,6 @@ EXPORT void CALL ProcessRDPList(void) vk_process_commands(); } -EXPORT void CALL FullSync(void) -{ - vk_full_sync(); -} - EXPORT int CALL RomOpen(void) { window_fullscreen = false; diff --git a/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.cpp b/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.cpp index 01bdde809..939fbb470 100644 --- a/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.cpp +++ b/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.cpp @@ -28,10 +28,6 @@ bool vk_synchronous, vk_divot_filter, vk_gamma_dither; bool vk_vi_aa, vk_vi_scale, vk_dither_filter; bool vk_interlacing; -static uint64_t rdp_sync_signal; -static uint64_t last_frame_counter; -static uint64_t frame_counter; - static const unsigned cmd_len_lut[64] = { 1, 1, 1, 1, 1, 1, 1, 1, 4, 6, 12, 14, 12, 14, 20, 22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -259,7 +255,6 @@ void vk_rasterize() render_frame(device); (*render_callback)(1); wsi->end_frame(); - frame_counter++; wsi->begin_frame(); } @@ -446,15 +441,7 @@ void vk_process_commands() // For synchronous RDP: if (vk_synchronous) { - if (frame_counter != last_frame_counter) // Only sync once per frame - { - rdp_sync_signal = processor->signal_timeline(); - last_frame_counter = frame_counter; - } - else - { - rdp_sync_signal = 0; - } + processor->wait_for_timeline(processor->signal_timeline()); } *gfx.MI_INTR_REG |= DP_INTERRUPT; @@ -477,13 +464,6 @@ void vk_resize() platform->do_resize(); } - -void vk_full_sync() -{ - if (vk_synchronous && rdp_sync_signal) - processor->wait_for_timeline(rdp_sync_signal); -} - void vk_destroy() { if (wsi) @@ -576,8 +556,5 @@ bool vk_init() processor->set_quirks(quirks); wsi->begin_frame(); - - last_frame_counter = 0; - frame_counter = 0; return true; } \ No newline at end of file diff --git a/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.h b/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.h index da2eaf19f..1618ee94e 100644 --- a/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.h +++ b/Source/3rdParty/mupen64plus-video-parallel/parallel_imp.h @@ -28,7 +28,6 @@ extern "C" bool vk_init(); void vk_destroy(); void vk_resize(); - void vk_full_sync(); void vk_read_screen(unsigned char* dest); #ifdef __cplusplus