From c6d779920df172ddb743348030f1158c1e07cf1d Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Sun, 13 Oct 2013 11:06:45 -0700 Subject: [PATCH] Switch ring buffer wait event to manual reset. Avoids timing issues with kicks. --- src/xenia/gpu/ring_buffer_worker.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xenia/gpu/ring_buffer_worker.cc b/src/xenia/gpu/ring_buffer_worker.cc index cbd28fa83..32ee8e8c7 100644 --- a/src/xenia/gpu/ring_buffer_worker.cc +++ b/src/xenia/gpu/ring_buffer_worker.cc @@ -22,7 +22,7 @@ using namespace xe::gpu::xenos; RingBufferWorker::RingBufferWorker(xe_memory_ref memory) : memory_(memory), driver_(0) { write_ptr_index_event_ = CreateEvent( - NULL, FALSE, FALSE, NULL); + NULL, TRUE, FALSE, NULL); } RingBufferWorker::~RingBufferWorker() { @@ -71,6 +71,7 @@ void RingBufferWorker::Pump() { if (read_ptr_index_ == write_ptr_index_) { return; } + ResetEvent(write_ptr_index_event_); // Process the new commands. XELOGGPU("Ring buffer thread work");