From owner-svn-ports-all@freebsd.org Mon Nov 6 00:44:06 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72F08E56393; Mon, 6 Nov 2017 00:44:06 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 423C2725E9; Mon, 6 Nov 2017 00:44:06 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vA60i5sb066367; Mon, 6 Nov 2017 00:44:05 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vA60i5Yj066364; Mon, 6 Nov 2017 00:44:05 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201711060044.vA60i5Yj066364@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Mon, 6 Nov 2017 00:44:05 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r453584 - in head/emulators/citra: . files X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in head/emulators/citra: . files X-SVN-Commit-Revision: 453584 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Nov 2017 00:44:06 -0000 Author: jbeich Date: Mon Nov 6 00:44:04 2017 New Revision: 453584 URL: https://svnweb.freebsd.org/changeset/ports/453584 Log: emulators/citra: update to s20171105 Changes: https://github.com/citra-emu/citra/compare/1f6da9fb...4fc04480 Added: head/emulators/citra/files/patch-revert-pr3042 (contents, props changed) Modified: head/emulators/citra/Makefile (contents, props changed) head/emulators/citra/distinfo (contents, props changed) Modified: head/emulators/citra/Makefile ============================================================================== --- head/emulators/citra/Makefile Sun Nov 5 21:59:19 2017 (r453583) +++ head/emulators/citra/Makefile Mon Nov 6 00:44:04 2017 (r453584) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= citra -PORTVERSION= s20171028 +PORTVERSION= s20171105 PORTREVISION?= 0 CATEGORIES= emulators @@ -26,11 +26,11 @@ ONLY_FOR_ARCHS_REASON= https://github.com/MerryMage/dy USE_GITHUB= yes GH_ACCOUNT= citra-emu -GH_TAGNAME= 1f6da9fb +GH_TAGNAME= 4fc04480 GH_TUPLE= citra-emu:ext-soundtouch:019d208:soundtouch/externals/soundtouch \ - MerryMage:dynarmic:8f15e3f:dynarmic/externals/dynarmic \ - fmtlib:fmt:3.0.0-187-gac5484c:fmt/externals/fmt \ - herumi:xbyak:v5.40:xbyak/externals/xbyak \ + MerryMage:dynarmic:d3fb603:dynarmic/externals/dynarmic \ + fmtlib:fmt:4.0.0:fmt/externals/fmt \ + herumi:xbyak:v5.53-1-gc5da377:xbyak/externals/xbyak \ lsalzman:enet:a84c120:enet/externals/enet \ neobrain:nihstro:7e24743:nihstro/externals/nihstro \ philsquared:Catch:v1.9.4:catch/externals/catch \ Modified: head/emulators/citra/distinfo ============================================================================== --- head/emulators/citra/distinfo Sun Nov 5 21:59:19 2017 (r453583) +++ head/emulators/citra/distinfo Mon Nov 6 00:44:04 2017 (r453584) @@ -1,14 +1,14 @@ -TIMESTAMP = 1509212336 -SHA256 (citra-emu-citra-s20171028-1f6da9fb_GH0.tar.gz) = 816e73d9e5ccef3927a0924515f3b66469d8ef8acdb9ff3367ea5b5603224e24 -SIZE (citra-emu-citra-s20171028-1f6da9fb_GH0.tar.gz) = 1588279 +TIMESTAMP = 1509870766 +SHA256 (citra-emu-citra-s20171105-4fc04480_GH0.tar.gz) = 05301e6316b858c94d068d936e086c20faa8c86c32aaab0bd3645f3acc953b89 +SIZE (citra-emu-citra-s20171105-4fc04480_GH0.tar.gz) = 1619629 SHA256 (citra-emu-ext-soundtouch-019d208_GH0.tar.gz) = f48c211bbabe7ad79e1c504af1082756c74241be6bab4aca13140803f4b694e7 SIZE (citra-emu-ext-soundtouch-019d208_GH0.tar.gz) = 59366 -SHA256 (MerryMage-dynarmic-8f15e3f_GH0.tar.gz) = 3e5b184c8d190849374fa426ee6a511f3375682232b46aaa8e060632eaa4cadb -SIZE (MerryMage-dynarmic-8f15e3f_GH0.tar.gz) = 420423 -SHA256 (fmtlib-fmt-3.0.0-187-gac5484c_GH0.tar.gz) = 1400d4e807c5bb0329e44784210bbabddd4f42103f3d9d86c8d3d97188bc9975 -SIZE (fmtlib-fmt-3.0.0-187-gac5484c_GH0.tar.gz) = 615682 -SHA256 (herumi-xbyak-v5.40_GH0.tar.gz) = 106bbe15dc7e5d025ff98d1b5dd62a3f0a26d2569debe77fcde14852d50a66e1 -SIZE (herumi-xbyak-v5.40_GH0.tar.gz) = 203521 +SHA256 (MerryMage-dynarmic-d3fb603_GH0.tar.gz) = a6e159eab0d40a39e868dbab7d250af5076fb3cef5a4030dcaa0eaa8ead71f66 +SIZE (MerryMage-dynarmic-d3fb603_GH0.tar.gz) = 421395 +SHA256 (fmtlib-fmt-4.0.0_GH0.tar.gz) = 35300a0d356529447a79ed5ccf419239d8b34f916e5d4625f046fd37afa3650a +SIZE (fmtlib-fmt-4.0.0_GH0.tar.gz) = 617818 +SHA256 (herumi-xbyak-v5.53-1-gc5da377_GH0.tar.gz) = 51129bc945fe2650f5fcd41f3b0166555b17589f03bda5d2216927234ef6446a +SIZE (herumi-xbyak-v5.53-1-gc5da377_GH0.tar.gz) = 206888 SHA256 (lsalzman-enet-a84c120_GH0.tar.gz) = 409d458f2da9d8bba49191ab6abaeb6bcf89193cd5eff07382c1d7b5f3fb06f0 SIZE (lsalzman-enet-a84c120_GH0.tar.gz) = 79369 SHA256 (neobrain-nihstro-7e24743_GH0.tar.gz) = 063728b01f7de99ca91693c46bd5c5a0fb03c0058baf4452d539f630b10f3650 Added: head/emulators/citra/files/patch-revert-pr3042 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/citra/files/patch-revert-pr3042 Mon Nov 6 00:44:04 2017 (r453584) @@ -0,0 +1,119 @@ +https://github.com/citra-emu/citra/issues/3079 + +--- src/core/hle/kernel/errors.h.orig 2017-11-05 08:32:46 UTC ++++ src/core/hle/kernel/errors.h +@@ -13,7 +13,6 @@ enum { + OutOfHandles = 19, + SessionClosedByRemote = 26, + PortNameTooLong = 30, +- WrongLockingThread = 31, + NoPendingSessions = 35, + WrongPermission = 46, + InvalidBufferDescriptor = 48, +--- src/core/hle/kernel/mutex.cpp.orig 2017-11-05 08:32:46 UTC ++++ src/core/hle/kernel/mutex.cpp +@@ -7,7 +7,6 @@ + #include + #include "common/assert.h" + #include "core/core.h" +-#include "core/hle/kernel/errors.h" + #include "core/hle/kernel/kernel.h" + #include "core/hle/kernel/mutex.h" + #include "core/hle/kernel/thread.h" +@@ -59,35 +58,20 @@ void Mutex::Acquire(Thread* thread) { + lock_count++; + } + +-ResultCode Mutex::Release(Thread* thread) { +- // We can only release the mutex if it's held by the calling thread. +- if (thread != holding_thread) { +- if (holding_thread) { +- LOG_ERROR( +- Kernel, +- "Tried to release a mutex (owned by thread id %u) from a different thread id %u", +- holding_thread->thread_id, thread->thread_id); ++void Mutex::Release() { ++ // Only release if the mutex is held ++ if (lock_count > 0) { ++ lock_count--; ++ ++ // Yield to the next thread only if we've fully released the mutex ++ if (lock_count == 0) { ++ holding_thread->held_mutexes.erase(this); ++ holding_thread->UpdatePriority(); ++ holding_thread = nullptr; ++ WakeupAllWaitingThreads(); ++ Core::System::GetInstance().PrepareReschedule(); + } +- return ResultCode(ErrCodes::WrongLockingThread, ErrorModule::Kernel, +- ErrorSummary::InvalidArgument, ErrorLevel::Permanent); + } +- +- // Note: It should not be possible for the situation where the mutex has a holding thread with a +- // zero lock count to occur. The real kernel still checks for this, so we do too. +- if (lock_count <= 0) +- return ResultCode(ErrorDescription::InvalidResultValue, ErrorModule::Kernel, +- ErrorSummary::InvalidState, ErrorLevel::Permanent); +- +- lock_count--; +- +- // Yield to the next thread only if we've fully released the mutex +- if (lock_count == 0) { +- holding_thread->held_mutexes.erase(this); +- holding_thread->UpdatePriority(); +- holding_thread = nullptr; +- WakeupAllWaitingThreads(); +- Core::System::GetInstance().PrepareReschedule(); +- } + } + + void Mutex::AddWaitingThread(SharedPtr thread) { +@@ -118,4 +102,4 @@ void Mutex::UpdatePriority() { + } + } + +-} // namespace Kernel ++} // namespace +--- src/core/hle/kernel/mutex.h.orig 2017-11-05 08:32:46 UTC ++++ src/core/hle/kernel/mutex.h +@@ -8,7 +8,6 @@ + #include "common/common_types.h" + #include "core/hle/kernel/kernel.h" + #include "core/hle/kernel/wait_object.h" +-#include "core/hle/result.h" + + namespace Kernel { + +@@ -53,12 +52,7 @@ class Mutex final : public WaitObject { (public) + void AddWaitingThread(SharedPtr thread) override; + void RemoveWaitingThread(Thread* thread) override; + +- /** +- * Attempts to release the mutex from the specified thread. +- * @param thread Thread that wants to release the mutex. +- * @returns The result code of the operation. +- */ +- ResultCode Release(Thread* thread); ++ void Release(); + + private: + Mutex(); +@@ -71,4 +65,4 @@ class Mutex final : public WaitObject { (public) + */ + void ReleaseThreadMutexes(Thread* thread); + +-} // namespace Kernel ++} // namespace +--- src/core/hle/svc.cpp.orig 2017-11-05 08:32:46 UTC ++++ src/core/hle/svc.cpp +@@ -818,7 +818,9 @@ static ResultCode ReleaseMutex(Kernel::Handle handle) + if (mutex == nullptr) + return ERR_INVALID_HANDLE; + +- return mutex->Release(Kernel::GetCurrentThread()); ++ mutex->Release(); ++ ++ return RESULT_SUCCESS; + } + + /// Get the ID of the specified process