Subv
ee6c03dfc6
Added a framework for partially handling Session disconnections.
...
Further implementation will happen in a future commit.
Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv
41e5e714d5
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Subv
eb8b765178
Return an error code when connecting to a saturated port.
...
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv
209e6b060b
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.
2016-12-05 13:44:41 -05:00
Subv
7214f4986e
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.
2016-12-05 12:05:00 -05:00
Subv
824692849b
Kernel: Remove the Redirection handle type.
2016-12-05 11:13:22 -05:00
Subv
7a18725662
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
2016-12-05 11:02:08 -05:00
Subv
039c8a8fc5
Declare empty ServerSession and ClientSession constructors as default.
2016-12-02 22:58:02 -05:00
Subv
a15e34040a
Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
2016-12-01 10:47:06 -05:00
Subv
694df935a6
Fixed the rebase mistakes.
2016-11-30 23:28:31 -05:00
Subv
20f90896af
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.
2016-11-30 23:12:35 -05:00
Subv
856f8029d7
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.
2016-11-30 23:04:00 -05:00
Subv
11daab060a
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.
2016-11-30 23:03:59 -05:00
Subv
d0093a8b40
fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-11-30 23:02:06 -05:00
Subv
0d2f2880b9
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.
2016-11-30 23:02:05 -05:00
Yuri Kunde Schlesner
560ad83e70
Merge pull request #2228 from freiro/winver_fix
...
Move WINVER definition to cmake and a bit of cleanup
2016-11-30 15:47:08 -08:00
Sebastian Valle
a39f8f5338
Merge pull request #2243 from MerryMage/r15
...
dynarmic: Fix ABI violation
2016-11-30 17:41:20 -05:00
MerryMage
56344720f4
dynarmic: Fix ABI violation
...
Caused by not saving/restoring the x64 r15 register on entry/exit from
JITted code.
Closes #2224 .
2016-11-30 19:12:46 +00:00
wwylele
c12e7faf8f
Merge pull request #2241 from Subv/clang_format
...
ClangFormat: Fixed the clang-format errors
2016-11-30 18:52:53 +02:00
freiro
186a4318cc
Appending PLATFORM_LIBRARIES instead of redefining them
2016-11-30 16:28:21 +01:00
freiro
cc42b1dc50
WINVER definition moved to CMake and cleanup
2016-11-30 15:47:09 +01:00
Subv
dfd1868ed9
ClangFormat: Fixed the clang-format errors
2016-11-30 09:37:37 -05:00
Sebastian Valle
01e8ac1fa4
Merge pull request #1820 from mailwl/service-ver
...
Set client SDK version to Service APIs
2016-11-30 08:04:23 -05:00
mailwl
dcf71f36fc
Set client SDK version to Service APIs
2016-11-30 09:51:14 +03:00
bunnei
ef48628a0b
Merge pull request #2233 from Subv/warnings
...
Build: Fixed a few warnings.
2016-11-29 23:23:22 -05:00
James Rowe
ad667ad468
Update dynarmic to the latest version ( #2234 )
2016-11-29 23:22:19 -05:00
Subv
c9b02effb9
Build: Fixed a few warnings.
2016-11-29 16:51:53 -05:00
Yuri Kunde Schlesner
20333d468d
Merge pull request #2196 from Subv/system_mode
...
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-27 17:04:11 -08:00
Yuri Kunde Schlesner
dc0e73595d
Merge pull request #2222 from linkmauve/die-frameskip-die
...
Remove the broken frame_skip option
2016-11-27 16:01:45 -08:00
Sebastian Valle
8eaf432bee
Merge pull request #2132 from wwylele/fix-fs-err
...
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
Subv
7199214c55
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-27 18:03:48 -05:00
Yuri Kunde Schlesner
98fd555feb
Merge pull request #2218 from Subv/stencil_lines
...
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
2016-11-27 13:57:31 -08:00
Emmanuel Gil Peyrot
1af2c6d212
GPU: Remove the broken frame_skip option.
...
Fixes #1960 .
2016-11-27 21:19:56 +00:00
Subv
487a9a37ba
RasterizerGL: Use GL_TRUE and 0xFF in the stencil and depth masks instead of simply true and -1
2016-11-27 13:09:11 -05:00
Subv
84dcb45053
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
2016-11-27 12:16:10 -05:00
Sebastian Valle
8b4835a14a
Merge pull request #2168 from mailwl/mic
...
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
Yuri Kunde Schlesner
6fc6d27f75
Merge pull request #2185 from freiro/local_folder
...
Change "user" folder default location to AppData/Roaming/ on Windows systems
2016-11-26 14:07:43 -08:00
freiro
d359cb8429
Move to AppData/Roaming/Citra/
2016-11-26 22:57:36 +01:00
Yuri Kunde Schlesner
5eca2bf52f
Merge pull request #2215 from MerryMage/ticks_executed
...
dynarmic: Add ticks based on ticks executed, not ticks requested
2016-11-26 13:51:11 -08:00
MerryMage
280d875f22
dynarmic: Add ticks based on ticks executed, not ticks requested
2016-11-26 20:32:33 +00:00
freiro
ecc54a90d9
Removed /user/ from path
2016-11-26 01:00:52 +01:00
mailwl
5d38be9836
Output parameters to log
2016-11-25 09:37:20 +03:00
mailwl
90693460da
MIC_U: Stub service funcions
2016-11-25 09:37:19 +03:00
Yuri Kunde Schlesner
71ca96c587
Merge pull request #2210 from jroweboy/pagetables
...
Expose page table to dynarmic for optimized reads and writes to the JIT
2016-11-24 19:58:12 -08:00
James Rowe
0028ab79e2
Expose page table to dynarmic for optimized reads and writes to the JIT
2016-11-24 20:41:18 -07:00
Yuri Kunde Schlesner
69710b68c4
Merge pull request #2211 from yuriks/travis-no-upload
...
Travis: Remove build uploading
2016-11-24 17:30:28 -08:00
Yuri Kunde Schlesner
b65aa3acef
Travis: Remove build uploading
...
@archshift has been MIA for a while, so our builds server is currently
down. Furthermore, uploading is broken in both Linux and macOS:
- The version of lftp in Trusty doesn't support the sftp:auto-confirm
option, which means that uploading would hang, even if the server
weren't down. It currently tries to connect forever and fails the
build with a timeout.
- lftp was removed from Homebrew, so it wasn't being installed on macOS
and invoking it just failed.
2016-11-24 15:49:15 -08:00
Yuri Kunde Schlesner
d2a22e147e
Merge pull request #2208 from freiro/libsdl205
...
Windows, move to SDL2-2.0.5
2016-11-24 14:04:00 -08:00
freiro
835832f917
Switch to AppData/Roaming
2016-11-24 16:42:31 +01:00
jphalimi
28b8289ef1
Cache Vertices instead of Output registers ( #2165 )
...
This patch brings +3% performance improvement on average. It removes
ToVertex() as an important hotspot of the emulator.
2016-11-23 23:10:34 -05:00