Commit graph

3983 commits

Author SHA1 Message Date
Yuri Kunde Schlesner 0e3e091a0d Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner d9e7be32de Service/sm: Use an actual semaphore for the notification semaphore
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner c17330e05f Service: Move SRV interface to a new sm/ subdirectory
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner 8a35f3634e Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner 9dd1fd5b9e ResultVal: Add more convenience utils for creating and cascading results 2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner 41a3feea66 HLE: Move SessionRequestHandler from Service:: to Kernel::
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
Alex Touchet 75e006ac06 Edit Citra URLs (#2728) 2017-06-03 23:51:45 +03:00
Kloen 1edf3c80d6 Remove unused imports in game_list_p.h 2017-06-03 17:43:37 +02:00
TheKoopaKingdom e0f8f75f43 Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
 - Fixed design flaw where the message bar status could be set despite the game being stopped.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom b5b8dd22e5 Fixed wiki URLs. 2017-06-02 18:40:39 -04:00
TheKoopaKingdom fa11f957f4 Switched to the ERROR_NOT_FOUND constant from errors.h. 2017-06-02 18:40:39 -04:00
TheKoopaKingdom af0a2f11d9 Moved whitelist checks from FS_User to the Archive_NCCH handler. 2017-06-02 18:40:27 -04:00
TheKoopaKingdom b817071212 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom 4799017aec Optimized messages that were repetitive and added ability for core errors to specify more details optionally. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom beefa1482e Added message to status bar to show core errors ignored by the user. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom cee9b78a15 Made some changes from review comments:
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom 3a32a33fde Added system for handling core errors in citra-qt. 2017-06-02 18:27:56 -04:00
TheKoopaKingdom 1b9c3436ab Fixed encrypted ROM error messages. 2017-06-02 18:25:32 -04:00
bunnei c5b12080e7 Merge pull request #2722 from wwylele/cam-ipc-helper
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
bunnei 11b66db774 Merge pull request #2739 from yuriks/kernel-reorg
Split-up kernel.h
2017-05-31 19:46:15 -04:00
bunnei fedc51fec1 Merge pull request #2721 from wwylele/texture-cube
swrasterizer: implemented TextureCube
2017-05-30 10:21:05 -04:00
Yuri Kunde Schlesner ecfda5317e Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner 6f662625d3 Kernel: Move WaitObject to a separate file
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
2017-05-29 16:16:46 -07:00
Yuri Kunde Schlesner dfa8e600b0 Merge pull request #2734 from yuriks/cmake-imported-libs
CMake: Use CMake target properties for all libraries
2017-05-29 15:12:21 -07:00
Yuri Kunde Schlesner ddbf9cec1b Kernel: Removed HandleTable::GetWaitObject
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
2017-05-29 15:10:06 -07:00
Yuri Kunde Schlesner 74aa9efe3e Kernel: Extract dynamic Object pointer cast into its own function 2017-05-29 14:42:27 -07:00
wwylele 06dfd8eee1 swrasterizer: implement TextureCube 2017-05-29 22:28:48 +03:00
wwylele 1295e20de3 pica: add registers for texture cube 2017-05-29 22:03:08 +03:00
Yuri Kunde Schlesner a6222bbbc7 Merge pull request #2729 from yuriks/quaternion-fix
OpenGL: Improve accuracy of quaternion interpolation
2017-05-28 01:24:06 -07:00
Yuri Kunde Schlesner e04bfa22e7 CMake: Create an INTERFACE target for Catch 2017-05-27 22:46:59 -07:00
Yuri Kunde Schlesner 1f22f0939c CMake: Create INTERFACE targets for microprofile and nihstro 2017-05-27 22:34:52 -07:00
Yuri Kunde Schlesner 49ef9a6270 CMake: Remove unnecessary include_directories for dynarmic
Dynarmic already adds the correct include paths to the library target.
2017-05-27 22:19:37 -07:00
Yuri Kunde Schlesner dfd2db3e37 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner f9a960614d CMake: Add SoundTouch include path to target property 2017-05-27 22:09:28 -07:00
Yuri Kunde Schlesner d84915c4a1 CMake: Define an interface target for SDL2 definitions 2017-05-27 21:38:49 -07:00
Yuri Kunde Schlesner 1e2a31410c CMake: Remove CITRA_QT_LIBS var
This used to be required to support both Qt4 and Qt5, but we dropped Qt4
so it's not needed anymore.
2017-05-27 20:53:39 -07:00
Yuri Kunde Schlesner 08a93f99d2 CMake: Stop using FindOpenGL, which seems to not be required anymore 2017-05-27 20:48:00 -07:00
Yuri Kunde Schlesner 97f922e583 CMake: Use IMPORTED target for Boost 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner 96dc0780e9 CMake: Use IMPORTED target for libpng 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner b78ce2bce5 CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.

Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner c201307b74 Citra: Convert include into forward declaration 2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner 7d74a5daf0 Remove some unnecessary inclusions of video_core.h 2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner b868036561 Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner 2010024c2d OpenGL: Remove unused RendererOpenGL fields 2017-05-27 18:02:46 -07:00
Yuri Kunde Schlesner 7b560a8b81 Core: Fix some out-of-style includes 2017-05-27 16:31:42 -07:00
Yuri Kunde Schlesner 8b55ffb74a Common: Fix some out-of-style includes 2017-05-27 16:14:10 -07:00
Yuri Kunde Schlesner e6dc5926fb Move framebuffer_layout from Common to Core
This removes a dependency inversion between core and common. It's also
the proper place for the file since it makes screen layout decisions
specific to the 3DS.
2017-05-27 16:10:25 -07:00
wwylele 3342bb1fa9 fixup!cam: use IPCHelper 2017-05-27 21:30:07 +03:00
Yuri Kunde Schlesner 4db60b39e7 Merge pull request #2725 from wwylele/texture-sampler
gl_shader: refactor texture sampler into its own function
2017-05-27 03:26:50 -07:00
Yuri Kunde Schlesner 24ca113f3c OpenGL: Improve accuracy of quaternion interpolation
Current order of operations (rotate then normalize) seems to produce a
lot more distortion than normalizing and then rotating. This makes Citra
results match pretty closesly with hardware, and indicates that hardware
may also be using lerp instead of slerp to interpolate the quaternions.
2017-05-27 00:13:41 -07:00