Subv
386112da32
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
f9bcf89510
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Subv
c93c5a72bb
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
61a2fe8c3b
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
00f0c77570
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
29d809b6e1
Kernel: Remove the Redirection handle type.
2016-12-05 11:13:22 -05:00
Subv
dd8887c8cf
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
2ce61344d6
Declare empty ServerSession and ClientSession constructors as default.
2016-12-02 22:58:02 -05:00
Subv
ed210c32b3
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
2eceee3a4c
Fixed the rebase mistakes.
2016-11-30 23:28:31 -05:00
Subv
009b15b3aa
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
c5e7e0fa26
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
c19afd2118
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
0a33d915f8
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
073653e858
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
68c00ee771
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
freiro
0c22e52f52
WINVER definition moved to CMake and cleanup
2016-11-30 15:47:09 +01:00
Subv
e3e4f27447
ClangFormat: Fixed the clang-format errors
2016-11-30 09:37:37 -05:00
mailwl
5b136aa211
Set client SDK version to Service APIs
2016-11-30 09:51:14 +03:00
Subv
aea9a91100
Build: Fixed a few warnings.
2016-11-29 16:51:53 -05:00
Yuri Kunde Schlesner
3174bfd50c
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
e279a6955e
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
4ba5acdaff
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
d171409f29
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
Emmanuel Gil Peyrot
0820c99462
GPU: Remove the broken frame_skip option.
...
Fixes #1960 .
2016-11-27 21:19:56 +00:00
Subv
4623415026
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
743b0e71d9
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
2016-11-27 12:16:10 -05:00
Sebastian Valle
d3b7f57b2b
Merge pull request #2168 from mailwl/mic
...
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
Yuri Kunde Schlesner
a0b30189e5
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
593ec7fa74
Move to AppData/Roaming/Citra/
2016-11-26 22:57:36 +01:00
MerryMage
27be446049
dynarmic: Add ticks based on ticks executed, not ticks requested
2016-11-26 20:32:33 +00:00
freiro
972b289c78
Removed /user/ from path
2016-11-26 01:00:52 +01:00
mailwl
ec15e485c9
Output parameters to log
2016-11-25 09:37:20 +03:00
mailwl
d4cadf11fc
MIC_U: Stub service funcions
2016-11-25 09:37:19 +03:00
James Rowe
bbe57a66ca
Expose page table to dynarmic for optimized reads and writes to the JIT
2016-11-24 20:41:18 -07:00
freiro
79317b63d9
Switch to AppData/Roaming
2016-11-24 16:42:31 +01:00
jphalimi
82210ab480
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
0c9c97e5ea
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
ef421696e3
Merge pull request #2186 from wwylele/config9
...
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner
fefa645ec7
Merge pull request #1654 from JamePeng/errdisp
...
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
wwylele
75affa13f7
Fix format error from #2195
2016-11-22 20:17:28 +02:00
freiro
5dd31f204a
Improve verbosity of audio errors with SDL_GetError()
2016-11-22 17:28:11 +01:00
bunnei
2de470c9b2
Merge pull request #2195 from Subv/factor_check
...
GPU/CiTrace: Avoid calling GetTextures() when not necessary.
2016-11-19 22:21:11 -05:00
bunnei
f1798c1db6
Merge pull request #2193 from Subv/pulse_events
...
Kernel/Events: Log an error when trying to create Pulse events and timers
2016-11-19 22:19:45 -05:00
Subv
1323ab2f5f
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-19 20:40:04 -05:00
Sebastian Valle
6c8857d2bb
Merge pull request #2192 from Subv/applet_enums
...
APT/Applets: Renamed the members of the SignalType enum.
2016-11-19 20:30:26 -05:00
Subv
050e9be15b
GPU/CiTrace: Avoid calling GetTextures() when not necessary.
2016-11-19 19:27:00 -05:00
James Rowe
f68f37b520
Merge pull request #2194 from jroweboy/extremely-minor-clangformat-change
...
Minor formatting change
2016-11-19 13:51:14 -07:00
James Rowe
19acec351c
Minor formatting change
2016-11-19 13:35:07 -07:00
Subv
4ab8692475
Kernel/Events: Log an error when trying to create Pulse events and timers.
...
Related to #1904
2016-11-19 14:00:08 -05:00