diff --git a/README.md b/README.md index 31c85bf0c..f63ee1ce2 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 1561. +This is the source code for early-access 1562. ## Legal Notice diff --git a/src/core/hle/kernel/process_capability.cpp b/src/core/hle/kernel/process_capability.cpp index 3fc326eab..1006ee50c 100755 --- a/src/core/hle/kernel/process_capability.cpp +++ b/src/core/hle/kernel/process_capability.cpp @@ -281,11 +281,6 @@ ResultCode ProcessCapabilities::HandleSyscallFlags(u32& set_svc_bits, u32 flags) continue; } - if (svc_number >= svc_capabilities.size()) { - LOG_ERROR(Kernel, "Process svc capability is out of range! svc_number={}", svc_number); - return ResultOutOfRange; - } - svc_capabilities[svc_number] = true; } diff --git a/src/core/hle/kernel/process_capability.h b/src/core/hle/kernel/process_capability.h index 73ad197fa..b7a9b2e45 100755 --- a/src/core/hle/kernel/process_capability.h +++ b/src/core/hle/kernel/process_capability.h @@ -68,7 +68,7 @@ enum class ProgramType { class ProcessCapabilities { public: using InterruptCapabilities = std::bitset<1024>; - using SyscallCapabilities = std::bitset<128>; + using SyscallCapabilities = std::bitset<192>; ProcessCapabilities() = default; ProcessCapabilities(const ProcessCapabilities&) = delete; diff --git a/src/video_core/gpu_thread.cpp b/src/video_core/gpu_thread.cpp index 4f397e6f3..7addfbc7b 100755 --- a/src/video_core/gpu_thread.cpp +++ b/src/video_core/gpu_thread.cpp @@ -64,7 +64,7 @@ static void RunThread(Core::System& system, VideoCore::RendererBase& renderer, if (next.block) { // We have to lock the write_lock to ensure that the condition_variable wait not get a // race between the check and the lock itself. - std::lock_guard lk(state.write_lock); + std::lock_guard lk(state.write_lock); state.cv.notify_all(); } } @@ -135,7 +135,7 @@ void ThreadManager::ShutDown() { } { - std::lock_guard lk(state.write_lock); + std::lock_guard lk(state.write_lock); state.is_running = false; state.cv.notify_all(); } @@ -159,12 +159,12 @@ u64 ThreadManager::PushCommand(CommandData&& command_data, bool block) { block = true; } - std::unique_lock lk(state.write_lock); + std::unique_lock lk(state.write_lock); const u64 fence{++state.last_fence}; state.queue.Push(CommandDataContainer(std::move(command_data), fence, block)); if (block) { - state.cv.wait(lk, [this, fence]() { + state.cv.wait(lk, [this, fence] { return fence <= state.signaled_fence.load(std::memory_order_relaxed) || !state.is_running; });