Commit graph

4605 commits

Author SHA1 Message Date
Yuri Kunde Schlesner
515096c197 OpenGL: Non-zero stride only makes sense for linear buffers 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner
2271fa76fb OpenGL: Ensure framebuffer binding is restored if completion check fails 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner
f207da3a5a OpenGL: Fix DisplayTransfer accel when input width != output width
Fixes #2246, #2261
2016-12-04 05:21:57 -08:00
Yuri Kunde Schlesner
9b3739ebca Merge pull request #2259 from JayFoxRox/fix-fallback
shader_jit: Fix non-SSE4.1 path where FLR would not truncate
2016-12-03 22:11:39 -08:00
Subv
5bc10a74f6 Threading: Reworked the way our scheduler works.
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.

The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.

This new implementation is based off reverse-engineering of the real kernel.

See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Jannik Vogel
3020767914 shader_jit: Fix non-SSE4.1 path where FLR would not truncate 2016-12-04 04:26:33 +01:00
Yuri Kunde Schlesner
84225aad2a Merge pull request #2257 from citra-emu/fix-clang-format
Travis: Use a stable version of clang-format
2016-12-03 16:13:40 -08:00
Yuri Kunde Schlesner
90fd00648c clang-format: Fix coding style 2016-12-03 01:32:46 -08:00
Yuri Kunde Schlesner
cd529f7414 Travis: Use a stable version of clang-format 2016-12-03 01:32:46 -08:00
Yuri Kunde Schlesner
41dc2fcac7 Merge pull request #2255 from JayFoxRox/lsl4
shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted
2016-12-02 20:24:24 -08:00
Subv
4703561c9e Declare empty ServerSession and ClientSession constructors as default. 2016-12-02 22:58:02 -05:00
Jannik Vogel
62c76b4207 shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted 2016-12-02 04:33:15 +01:00
Mat M
690694bcfc Merge pull request #2251 from JayFoxRox/remove-version
Remove unused version.h in citra_qt
2016-12-01 14:24:40 -05:00
Subv
811d684274 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
Jannik Vogel
63e5851830 Remove unused version.h 2016-12-01 16:38:46 +01:00
Subv
4c4f50dfaf Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Subv
4f2326c8a9 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
d2305d375f 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
edcacd7cdd 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
96df92e98f 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
302ef594a6 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
35c7f317cf 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
547baeb208 Merge pull request #2243 from MerryMage/r15
dynarmic: Fix ABI violation
2016-11-30 17:41:20 -05:00
MerryMage
9089f83b0c 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
3fab1ddf64 Merge pull request #2241 from Subv/clang_format
ClangFormat: Fixed the clang-format errors
2016-11-30 18:52:53 +02:00
freiro
7f7bab0fa1 Appending PLATFORM_LIBRARIES instead of redefining them 2016-11-30 16:28:21 +01:00
freiro
662d907aa7 WINVER definition moved to CMake and cleanup 2016-11-30 15:47:09 +01:00
Subv
a485a04208 ClangFormat: Fixed the clang-format errors 2016-11-30 09:37:37 -05:00
Sebastian Valle
547126ae51 Merge pull request #1820 from mailwl/service-ver
Set client SDK version to Service APIs
2016-11-30 08:04:23 -05:00
mailwl
662aee1e1d Set client SDK version to Service APIs 2016-11-30 09:51:14 +03:00
bunnei
6cb2b20a6b Merge pull request #2233 from Subv/warnings
Build: Fixed a few warnings.
2016-11-29 23:23:22 -05:00
James Rowe
be6a3efb01 Update dynarmic to the latest version (#2234) 2016-11-29 23:22:19 -05:00
Subv
d16be9bdbd Build: Fixed a few warnings. 2016-11-29 16:51:53 -05:00
wwylele
1e4a1598fd FileSys: Implement OtherSaveData 2016-11-29 23:50:00 +02:00
wwylele
e6de484ec3 FS: add missing MediaType 2016-11-29 23:50:00 +02:00
wwylele
37e9404489 FileSys: abstract SD save data archive source 2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner
e8dec36ad5 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
e3c19b1d04 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
6352bf702c 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
7adac27868 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
66b6587d8b 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
87d3afe635 GPU: Remove the broken frame_skip option.
Fixes #1960.
2016-11-27 21:19:56 +00:00
Subv
47603a64f1 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
d64661e40e Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer. 2016-11-27 12:16:10 -05:00
Sebastian Valle
9d5e10abc6 Merge pull request #2168 from mailwl/mic
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
Yuri Kunde Schlesner
5984634d7b 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
dba46c0b01 Move to AppData/Roaming/Citra/ 2016-11-26 22:57:36 +01:00
Yuri Kunde Schlesner
ad3fb349e5 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
eb5be59f9c dynarmic: Add ticks based on ticks executed, not ticks requested 2016-11-26 20:32:33 +00:00
James
00c4cb5aff Add man documentation
Includes both SDL and QT frontends
2016-11-26 13:48:00 +11:00