Browse Source

VI: Use a Pulse event instead of OneShot for the vblank events.

This prevents missing frames if the vblank fires between the DequeueBuffer and Wait(vsync) calls
Subv 8 năm trước cách đây
mục cha
commit
977ce4abbc
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      src/core/hle/service/vi/vi.cpp

+ 1 - 1
src/core/hle/service/vi/vi.cpp

@@ -830,7 +830,7 @@ void BufferQueue::ReleaseBuffer(u32 slot) {
 Layer::Layer(u64 id, std::shared_ptr<BufferQueue> queue) : id(id), buffer_queue(std::move(queue)) {}
 
 Display::Display(u64 id, std::string name) : id(id), name(std::move(name)) {
-    vsync_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "Display VSync Event");
+    vsync_event = Kernel::Event::Create(Kernel::ResetType::Pulse, "Display VSync Event");
 }
 
 } // namespace VI