From 79d72fc88900dd4596b9a3ac368c053ce688e7e3 Mon Sep 17 00:00:00 2001 From: randprint Date: Tue, 27 Oct 2020 19:06:03 -0400 Subject: [PATCH] [Kernel] minor change to EnqueueNotification to fix Vigilante8 --- src/xenia/kernel/xnotifylistener.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/xenia/kernel/xnotifylistener.cc b/src/xenia/kernel/xnotifylistener.cc index ed890eebb..c1eebf1f2 100644 --- a/src/xenia/kernel/xnotifylistener.cc +++ b/src/xenia/kernel/xnotifylistener.cc @@ -11,6 +11,7 @@ #include "xenia/base/byte_stream.h" #include "xenia/kernel/kernel_state.h" +#include "xenia/base/logging.h" namespace xe { namespace kernel { @@ -31,8 +32,10 @@ void XNotifyListener::Initialize(uint64_t mask) { void XNotifyListener::EnqueueNotification(XNotificationID id, uint32_t data) { // Ignore if the notification doesn't match our mask. - // TODO(Gliniak): (confirm) mask 0x01 means accept all - if ((mask_ & ((id >> 25) & 0x3F)) == 0 && mask_ != 0x01) { + // TODO(Gliniak): (confirm) mask 0x01 means accept all // + XELOGD("EnqueueNotiication mask({:X}) id({:d}) wait_handle_({}))", + mask_, id, bool(wait_handle_)); + if ((mask_ != 1) && (mask_ & uint64_t(1ULL << (id >> 25))) == 0) { return; }