Commit Graph

4089 Commits

Author SHA1 Message Date
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
pippo2931 6eb0e9d67b Bravely Default/Second stuck #1822 (#2188)
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub

* Log parameter.

* Taking care of comments

* Sync with 3DBrew

* White space ?

* lower case
2016-11-23 22:57:56 -05:00
Yuri Kunde Schlesner 5101432f4c Merge pull request #2175 from PEmu1/macos
Change "OS X" to "macOS" in the Readme
2016-11-23 18:51:59 -08:00
Yuri Kunde Schlesner 984a41ad76 Merge pull request #2186 from wwylele/config9
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner 4624aeaee6 Merge pull request #1654 from JamePeng/errdisp
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
James Rowe b62038990b Merge pull request #2207 from wwylele/fix-2195
Fix format error from #2195
2016-11-22 12:46:12 -07:00
wwylele a9aded1653 Fix format error from #2195 2016-11-22 20:17:28 +02:00