Commit Graph

5584 Commits

Author SHA1 Message Date
d17f148e48 Services/GSP: Assign a thread id to each connected session when the session is created.
Most applications call AcquireRight before calling RegisterInterruptRelayQueue so we can't assign the thread id there.
This fixes the bug with LLE applets not launching properly.
2018-01-02 12:07:26 -05:00
fbef978b98 GSP: Return the correct result code if AcquireRight is called multiple times from the same thread. 2017-12-24 12:15:01 -05:00
68fc3b36e6 HLE/GSP: Only trigger GSP interrupts for the current active GSP thread.
This is true for all interrupts except PDC0 and PDC1, which should be triggered for all registered threads.

TODO: The real GSP module seems to only trigger PDC0 after updating the screens (both top and bottom). PDC1 doesn't seem to be triggered at all.
2017-12-24 12:15:00 -05:00
05a44ed353 HLE/GSP: Keep track of the thread that currently has the GPU right.
This thread is the only one for which the GSP interrupts should be signaled, except for the PDC0/1 interrupts.
2017-12-24 12:14:59 -05:00
aabb07cca4 HLE/GSP: Make RegisterInterruptRelayQueue work in a per-session basis.
The registered interrupt event is unique to each session that calls RegisterInterruptRelayQueue, and only that event should be reset when UnregisterInterruptRelayQueue is called.
2017-12-24 12:14:58 -05:00
ae42267cc7 Merge pull request #3307 from Subv/gsp_new_frame
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00
3652809408 HLE: Convert GSP_GPU to ServiceFramework.
The only functional change is the error handling of GSP_GPU::ReadHWRegs function. We previously didn't return error codes (not even for success). The new returns were found by reverse engineering the GSP module.
2017-12-21 10:30:22 -05:00
c143a5a3a6 Merge pull request #3318 from MerryMage/gdb_stub_
gdbstub: Correct typo
2017-12-20 15:05:37 -05:00
19814d68c1 gdbstub: Correct typo
Constructing and destructing a Core::System instance for the
GetInstance() call isn't the smartest thing to do.
2017-12-20 18:47:06 +00:00
c6293d7357 Merge pull request #3312 from lioncash/qt5-connect
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
2017-12-19 14:24:39 +00:00
3f37976fd3 Merge pull request #3309 from wwylele/cro-session-slot
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-18 18:22:39 +00:00
32b2d5bdfe Merge pull request #3253 from lioncash/mic-ipc
mic_u: Migrate to the new service framework
2017-12-18 14:34:47 +00:00
a73f135868 citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
This is more type-safe than the string-based signal/slot syntax that was
being used. It also makes the connections throughout the UI code consistent.
2017-12-17 18:44:48 -05:00
4c3a4ab664 Merge pull request #3306 from lioncash/qt4
citra_qt: Drop Qt 5 version checks in code
2017-12-17 12:08:21 +02:00
eeec04fcaa ldr_ro: use ServiceFramework's session slot for client slot 2017-12-17 01:43:12 +02:00
6e2a4ba665 Merge pull request #3305 from lioncash/fwd
game_list: Use forward declarations where applicable
2017-12-16 12:42:26 -07:00
f4b595331f GSP/GPU: Make FrameBufferInfo::active_fb use the entire u32 instead of just one bit.
The GSP module reads the entire 32 bit word from this field to determine the framebuffer.
2017-12-16 13:33:42 -05:00
9ec0609ae5 citra_qt: Drop Qt 5 version checks in code
We don't support Qt 4.x anymore.
2017-12-16 13:26:14 -05:00
8e53599deb game_list: Use forward declarations where applicable
Reduces the number of header dependencies propagated by the header file.
2017-12-16 13:14:23 -05:00
125f5d1e68 Merge pull request #3284 from Subv/session_data
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
2017-12-16 09:14:34 -05:00
d3112aedba Merge pull request #3295 from lioncash/qt4
citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
2017-12-15 19:49:22 -05:00
d613c6f74f mic_u: Migrate to the new service framework 2017-12-15 19:22:58 -05:00
c681090d06 citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
We don't support Qt 4 anymore.
2017-12-15 19:01:21 -05:00
4fd28e715e Merge pull request #3252 from Subv/fs_user
HLE/FS: Converted some functions to use IPCHelpers
2017-12-15 15:40:36 -05:00
4b4e1861c7 Merge pull request #3265 from Subv/getappletinfo
HLE/APT: Implement GetAppletInfo for LLE applets.
2017-12-15 10:29:53 -05:00
95d4d7c864 Merge pull request #3292 from Tilka/inf_nan
video_core: fix infinity and NaN conversions
2017-12-15 09:58:48 -05:00
b89f347a0c Merge pull request #3294 from lioncash/redundant
input_common: Remove redundant target_sources in CMakeLists
2017-12-15 01:03:32 -05:00
9a22e8d9ed HLE/APT: Implement GetAppletInfo for LLE applets.
Calling this function for AppletId::Application is not yet implemented because we don't support launching applications from APT.
2017-12-14 19:30:12 -05:00
674bd550a4 HLE/APT: Stubbed FinishPreloadingLibraryApplet.
An applet is considered "loaded" when the parent application calls this function.
2017-12-14 19:30:11 -05:00
761101f64c input_common: Remove redundant target_sources in CMakeLists 2017-12-14 19:21:02 -05:00
542f14d3c5 Merge pull request #3249 from Subv/logo
NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
2017-12-14 18:30:19 -05:00
b5bfaaae29 HLE/FS: Use the SessionData parameter of ServiceFramework in the File class. 2017-12-14 18:24:03 -05:00
daecd812b0 HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
Some services can have multiple clients at the same time, and they identify the different clients using the server session as a key.
This parameter (if present) should be a structure that contains the per-session data for each service.
The data can be retrieved using ServiceFramework::GetSessionData(session)
2017-12-14 18:24:02 -05:00
fd3ec6be30 video_core: fix infinity and NaN conversions 2017-12-14 19:51:58 +00:00
4b8a7eb1ca Merge pull request #3192 from wwylele/cro-new-frame
ldr_ro: convert to ServiceFramework
2017-12-13 22:30:03 -05:00
c23c39132a Merge pull request #3239 from wwylele/cam-new-frame
cam: convert to ServiceFramework
2017-12-13 22:27:58 -05:00
892b681f17 Merge pull request #3240 from muemart/input-config
Add button labels for sdl joystick mappings
2017-12-13 22:27:01 -05:00
9b598d936d Merge pull request #3248 from wwylele/ir-new-frame
ir: convert to ServiceFramework
2017-12-13 22:24:51 -05:00
2552efac01 HLE/FS: Use PopEnum in OpenFile. 2017-12-13 19:51:36 -05:00
d790ac465c HLE/FS: Use IPCHelper in CreateFile. 2017-12-13 19:51:21 -05:00
23732a9ab3 Use static functions instead of lambdas 2017-12-13 19:06:14 +01:00
aecd2b85fe Merge pull request #3261 from MerryMage/DPH
shader_jit_x64_compiler: Use haddps for horizontal summation
2017-12-13 09:09:42 -05:00
92e71aff57 HLE/FS: Use IPCHelper in DeleteDirectoryRecursively. 2017-12-12 17:48:15 -05:00
67382e46c0 HLE/FS: Use IPCHelper in DeleteDirectory. 2017-12-12 17:48:12 -05:00
b631f77d11 HLE/FS: Use IPCHelper in RenameFile. 2017-12-12 17:48:10 -05:00
a6c69bfca0 HLE/FS: Use IPCHelper in DeleteFile. 2017-12-12 17:48:07 -05:00
e9a70ce2fc HLE/FS: Use IPCHelper in OpenFileDirectly. 2017-12-12 17:48:03 -05:00
90fdc8dcbf FS: Make LowPathType a strongly typed enum. 2017-12-12 17:48:00 -05:00
6afd091c37 Merge pull request #3235 from Subv/dlp3
HLE/FS: Implemented FSFile::OpenSubFile.
2017-12-12 17:01:18 -05:00
4695f12a08 Merge pull request #3264 from lioncash/cmake-target
CMakeLists: Derive the source directory grouping from targets themselves
2017-12-12 14:34:51 -05:00