Switch ring buffer wait event to manual reset.
Avoids timing issues with kicks.
This commit is contained in:
parent
fa4c7cdd83
commit
c6d779920d
|
@ -22,7 +22,7 @@ using namespace xe::gpu::xenos;
|
||||||
RingBufferWorker::RingBufferWorker(xe_memory_ref memory) :
|
RingBufferWorker::RingBufferWorker(xe_memory_ref memory) :
|
||||||
memory_(memory), driver_(0) {
|
memory_(memory), driver_(0) {
|
||||||
write_ptr_index_event_ = CreateEvent(
|
write_ptr_index_event_ = CreateEvent(
|
||||||
NULL, FALSE, FALSE, NULL);
|
NULL, TRUE, FALSE, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
RingBufferWorker::~RingBufferWorker() {
|
RingBufferWorker::~RingBufferWorker() {
|
||||||
|
@ -71,6 +71,7 @@ void RingBufferWorker::Pump() {
|
||||||
if (read_ptr_index_ == write_ptr_index_) {
|
if (read_ptr_index_ == write_ptr_index_) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
ResetEvent(write_ptr_index_event_);
|
||||||
|
|
||||||
// Process the new commands.
|
// Process the new commands.
|
||||||
XELOGGPU("Ring buffer thread work");
|
XELOGGPU("Ring buffer thread work");
|
||||||
|
|
Loading…
Reference in New Issue