2016-12-16

Citra bleeding-edge-90

EmuCR: CitraCitra bleeding-edge-90 is released. This is the trunk of Citra Project. Citra is an experimental open-source Nintendo 3DS emulator/debugger written in C++. At this time, it only emulates a very small subset of 3DS hardware, and therefore is only useful for booting/debugging very simple homebrew demos. Citra is licensed under the GPLv2. Refer to the license.txt file included.

Citra Git Changelog:
* Merge pull request #2317 from yuriks/vertex-copy
VideoCore: Eliminate an unnecessary copy in the drawcall loop
* VideoCore: Eliminate an unnecessary copy in the drawcall loop
* Merge pull request #2309 from yuriks/shader-jit-xbyak
Convert shader JIT to Xbyak
* shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts
* VideoCore: Convert x64 shader JIT to use Xbyak for assembly
* Externals: Add Xbyak
* externals: Update Dynarmic
Required to be able to use Xbyak in Citra without header conflicts.
* Merge pull request #2249 from Subv/sessions_v3
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
* Fixed the codestyle to match our clang-format rules.
* Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
* Kernel/IPC: Small codestyle cleanup
* Added a framework for partially handling Session disconnections.
Further implementation will happen in a future commit.
Fixes a regression.
* Use std::move where appropriate.
* Return an error code when connecting to a saturated port.
The error code was taken from the 3DS kernel.
* HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time.
* Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
* Kernel: Remove the Redirection handle type.
* KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
* Declare empty ServerSession and ClientSession constructors as default.
* Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
* Fixed the rebase mistakes.
* A bit of a redesign.
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
* IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
* Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
* fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
* Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.
HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
* Merge pull request #2166 from endrift/clang-detect
CMakeLists: Autodetect clang and only then use libc++
* CMakeLists: Autodetect clang and only then use libc++
* Merge pull request #2315 from JamePeng/fix-gsp_gpu-code
Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code
* Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code

Download: Citra bleeding-edge-90 x64
Source: Here

0 Comments

Post a Comment