This commit is contained in:
Dmugetsu 2025-05-31 20:25:05 -06:00
parent 528f7a29f4
commit 58362dba98
3 changed files with 2 additions and 10 deletions

View File

@ -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;
}
{

View File

@ -29,8 +29,6 @@ struct VideoOutPort {
std::vector<Kernel::SceKernelEqueue> vblank_events;
std::mutex vo_mutex;
std::mutex port_mutex;
std::mutex pending_mutex;
std::queue<std::tuple<u32, u32>> pending_flips;
std::condition_variable vo_cv;
std::condition_variable vblank_cv;
int flip_rate = 0;

View File

@ -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");