diff --git a/src/core/libraries/videoout/driver.cpp b/src/core/libraries/videoout/driver.cpp index daa3b370f..5785e2b88 100644 --- a/src/core/libraries/videoout/driver.cpp +++ b/src/core/libraries/videoout/driver.cpp @@ -311,10 +311,9 @@ void VideoOutDriver::PresentThread(std::stop_token token) { } } else { Flip(request); - request.port->vo_cv.notify_all(); - // wake up threads waiting to submit more flips + request.port->vo_cv.notify_all(); // wake up threads waiting to submit more flips + FRAME_END; } - FRAME_END; } { diff --git a/src/core/libraries/videoout/driver.h b/src/core/libraries/videoout/driver.h index 9905d05fc..3b0df43b9 100644 --- a/src/core/libraries/videoout/driver.h +++ b/src/core/libraries/videoout/driver.h @@ -29,8 +29,6 @@ struct VideoOutPort { std::vector vblank_events; std::mutex vo_mutex; std::mutex port_mutex; - std::mutex pending_mutex; - std::queue> pending_flips; std::condition_variable vo_cv; std::condition_variable vblank_cv; int flip_rate = 0; diff --git a/src/core/libraries/videoout/video_out.cpp b/src/core/libraries/videoout/video_out.cpp index c6a151474..e08391364 100644 --- a/src/core/libraries/videoout/video_out.cpp +++ b/src/core/libraries/videoout/video_out.cpp @@ -338,11 +338,6 @@ s32 sceVideoOutSubmitEopFlip(s32 handle, u32 buf_id, u32 mode, u32 arg, void** u if (!port) { return ORBIS_VIDEO_OUT_ERROR_INVALID_HANDLE; } - - { - std::lock_guard lock(port->pending_mutex); - port->pending_flips.emplace(buf_id, arg); - } Platform::IrqC::Instance()->RegisterOnce( Platform::InterruptId::GfxFlip, [=](Platform::InterruptId irq) { ASSERT_MSG(irq == Platform::InterruptId::GfxFlip, "Unexpected IRQ");