aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2018-08-12Merge pull request #1036 from lioncash/threadbunnei
scheduler: Make HaveReadyThreads() a const member function
2018-08-12Merge pull request #1042 from Subv/racesbunnei
Fixed a bunch of race conditions when running in multicore mode.
2018-08-12Merge pull request #1041 from Subv/duplicated_mutexbunnei
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
2018-08-12Kernel/SVC: Don't reschedule the current core when creating a new thread.Subv
The current core may have nothing to do with the core where the new thread was scheduled to run. In case it's the same core, then the following PrepareReshedule call will take care of that.
2018-08-12Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.Subv
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
2018-08-12Kernel/Thread: Always use the threadsafe option when scheduling wakeups.Subv
WakeAfterDelay might be called from any host thread, so err on the side of caution and use the thread-safe CoreTiming::ScheduleEventThreadsafe. Note that CoreTiming is still far from thread-safe, there may be more things we have to work on for it to be up to par with what we want.
2018-08-12Kernel/Mutex: Don't duplicate threads in the mutex waiter list.Subv
Exit from AddMutexWaiter early if the thread is already waiting for a mutex owned by the owner thread. This accounts for the possibility of a thread that is waiting on a condition variable being awakened twice in a row. Also added more validation asserts. This should fix one of the random crashes in Breath Of The Wild.
2018-08-12vfs: Make type hierarchy objects classes instead of structsLioncash
struct should be used when the data type is very simple or otherwise has no invariants associated with it. Given these are used to form a hierarchy, class should be used instead.
2018-08-12Merge pull request #1035 from ogniK5377/audio-dev-revision-infobunnei
GetAudioDeviceServiceWithRevisionInfo (Used by Bloodstained: Curse of the Moon)
2018-08-12Merge pull request #1028 from ogniK5377/aoabunnei
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
2018-08-12scheduler: Make HaveReadyThreads() a const member functionLioncash
This function doesn't modify instance state, so the const qualifier can be added to it.
2018-08-12GetAudioDeviceServiceWithRevisionInfoDavid Marcec
As we're not handling any anything about the revision data for GetAudioDeviceServiceWithRevisionInfo, it's currently marked as stubbed. However for games this shouldn't affect the result. Proper revision info would be more for homebrew.
2018-08-12hid: disable clang-format around tablesLioncash
Prevents clang-format from butchering them.
2018-08-12hid: Stub DisconnectNpad()Lioncash
This is required by ARMS.
2018-08-12Pushed the requested sample rate instead of our fixed sample rateDavid Marcec
2018-08-12Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & ↵David Marcec
GetAudioRendererMixBufferCount GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
2018-08-12Stub UpdateUserPresenceDavid Marcec
Needed for Retro City Rampage to go in game
2018-08-11filesystem: Add Open and Register functions for BISFactoryZach Hilman
2018-08-11friend: Stub DeclareCloseOnlinePlaySession.bunnei
- Used by Splatoon 2.
2018-08-11friend: Fix CreateFriendService to return an IFriendService interface.bunnei
2018-08-11server_session: Provide more useful information and don't crash on bad IPC ↵bunnei
request.
2018-08-12Better UUID randomnessDavid Marcec
2018-08-12Removed un-needed count from ListOpenUsers and ListAllUsersDavid Marcec
2018-08-12Added better explanations in the profile managerDavid Marcec
2018-08-12Code cleanup for profile managerDavid Marcec
2018-08-12Removed const from ProfileBase InvalidateDavid Marcec
2018-08-11fixed invalid uuid bool operatorDavid Marcec
2018-08-11Added GetOpenUserCountDavid Marcec
2018-08-11Removed all for loops from the profile managerDavid Marcec
2018-08-11Added missing ListAllUsers countDavid Marcec
2018-08-11If statement style changeDavid Marcec
2018-08-11Second round of account changesDavid Marcec
2018-08-11First round of account changesDavid Marcec
2018-08-11Refactored profile manager sharingDavid Marcec
2018-08-11Merge remote-tracking branch 'origin/master' into better-accountDavid Marcec
2018-08-11Added IsUserRegistrationRequestPermittedDavid Marcec
2018-08-10video_core; Get rid of global g_toggle_framelimit_enabled variableLioncash
Instead, we make a struct for renderer settings and allow the renderer to update all of these settings, getting rid of the need for global-scoped variables. This also uncovered a few indirect inclusions for certain headers, which this commit also fixes.
2018-08-09Merge pull request #997 from lioncash/const-funcbunnei
core: Make function reference parameters const where applicable
2018-08-09Merge pull request #990 from lioncash/entrybunnei
fsp_srv: Emplace entries first when building index instead of emplacing last
2018-08-09Merge pull request #897 from DarkLordZach/vfs-accuracy-2bunnei
vfs: Add VfsFilesystem and fix RealVfs* implementations
2018-08-09buffer_queue: Make reference parameter of SetPreallocatedBuffer constLioncash
This is simply copied by value, so there's no need to make it a modifiable reference. While we're at it, make the names of the parameters match its definition.
2018-08-09hle_ipc: Make WriteToOutgoingCommandBuffer()'s reference parameter constLioncash
This function doesn't modify anything within the reference Thread instance.
2018-08-09Don't add user if the uuid already existsDavid Marcec
2018-08-08Merge pull request #986 from mailwl/acc-loadimagebunnei
Service/Account: stub LoadImage function
2018-08-08core: Port core to VfsFilesystem for file accessZach Hilman
2018-08-08filesystem: Remove unnecessary if conditionsZach Hilman
2018-08-08Merge pull request #978 from bunnei/fixioctlbunnei
nvhost_gpu: Don't over copy IoctlSubmitGpfifo.
2018-08-08fsp_srv: Use std::string_view's copy() function instead of strncpy()Lioncash
Given elements inserted into a vector are zeroed out, we can just copy MAX_LEN - 1 elements and the data will already be properly null terminated.
2018-08-08fsp_srv: Emplace entries first when building index instead of emplacing lastLioncash
The current way were doing it would require copying a 768 character buffer (part of the Entry struct) to the new element in the vector. Given it's a plain array, std::move won't eliminate that. Instead, we can emplace an instance directly into the destination buffer and then fill it out, avoiding the need to perform any unnecessary copies. Given this is done in a loop, we can request the destination to allocate all of the necessary memory ahead of time, avoiding the need to potentially keep reallocating over and over on every few insertions into the vector.
2018-08-08Merge pull request #975 from bunnei/am-stubbunnei
am: Stub SetScreenShotImageOrientation.