aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS
AgeCommit message (Collapse)Author
2022-08-26bsd: Fix Poll writting in input buffer (#3630)Mary-nyan
This is a very old oversight on our Poll implementation. This worked so far reliably because games and homebrews pass the same buffer as input and output.
2022-08-25pctl: Implement EndFreeCommunicationAc_K
This PR Implement `EndFreeCommunication` (checked by RE). Nothing more. Closes #2420
2022-08-18Removed unused usings. (#3593)Nicholas Rodine
* Removed unused usings. * Added back using, now that it's used. * Removed extra whitespace.
2022-08-15am: Stub SetWirelessPriorityMode, SetWirelessPriorityMode and ↵Ac_K
GetHdcpAuthenticationState (#3535) This PR some calls in `am` service: - ISelfController: SetWirelessPriorityMode, SaveCurrentScreenshot (Partially checked by RE). - ICommonStateGetter: GetHdcpAuthenticationState Close #1831 and close #3527
2022-08-15ControllerApplet: Override player counts when SingleMode is set (#3571)mageven
2022-08-11Rename ToSpan to AsSpan (#3556)gdkchan
2022-08-03Sfdnsres; Stub ResolverSetOptionRequest (#3493)Ac_K
This PR stub ResolverSetOptionRequest (checked by RE), but the options parsing is still missing since we don't support it in our current code. (Close #3479)
2022-07-29Avalonia: Another Cleanup (#3494)Ac_K
* Avalonia: Another Cleanup This PR is a cleanup to the avalonia code recently added: - Some XAML file are autoformatted like a previous PR. - Dlc is renamed to DownloadableContent (Locale exclude). - DownloadableContentManagerWindow is a bit improved (Fixes #3491). - Some nits here and there. * Fix GTK * Remove AttachDebugDevTools * Fix last warning * Fix JSON fields
2022-07-14BSD: Allow use of DontWait flag in Receive (#3462)Fruityloops
2022-07-12Handle the case where byte optionValues are sent to BSD (#3405)riperiperi
Some games and the Mario Odyssey Multiplayer mod do this. The SMO multiplayer mod also needs you to revert #3394 as it uses a blocking socket to receive (otherwise it hangs), and it doesn't seem to like being forced as non-blocking.
2022-07-06Fix Vi managed and stray layers open/close/destroy (#3438)gdkchan
* Fix Vi managed and stray layers open/close/destroy * OpenLayer should set the state to ManagedOpened
2022-07-03Stub GetTemperature (#3429)Ac_K
2022-06-29ui: Fix timezone abbreviation since #3361 (#3430)Mary
As title say
2022-06-24timezone: Fix regression caused by #3361 (#3418)Mary
Because of that PR, TimeZoneRule was bigger than 0x4000 thanks to a misuse of a constant. This commit address this issue and add a new unit test to ensure the size of TimeZoneRule is 0x4000 bytes. Also address suggestions that were lost on the original PR.
2022-06-24time: Make TimeZoneRule blittable and avoid copies (#3361)Mary
* time: Make TimeZoneRule blittable and avoid copies This drastically reduce overhead of using TimeZoneRule around the codebase. Effect on games is unknown * Add missing Box type * Ensure we clean the structure still This doesn't perform any copies * Address gdkchan's comments * Simplify Box
2022-06-24Fix ThreadingLock deadlock on invalid access and TerminateProcess (#3407)gdkchan
2022-06-22Rewrite kernel memory allocator (#3316)gdkchan
* Rewrite kernel memory allocator * Remove unused using * Adjust private static field naming * Change UlongBitSize to UInt64BitSize * Fix unused argument, change argument order to be inline with official code and disable random allocation
2022-06-12Less invasive fix for EventFd blocking operations (#3394)gdkchan
2022-06-11Allow concurrent BSD EventFd read/write (#3385)gdkchan
2022-06-04Fix a potential GPFIFO submission race (#3378)Billy Laws
The syncpoint maximum value represents the maximum possible syncpt value at a given time, however due to PBs being submitted before max was incremented, for a brief moment of time this is not the case which could lead to invalid behaviour if a game waits on the fence at that specific time.
2022-05-31Rewrite SVC handler using source generators rather than IL emit (#3371)gdkchan
* Implement syscall handlers using a source generator * Copy FlushProcessDataCache implementation to Syscall since it was only implemented on Syscall32 * Fix wrong argument order in some syscalls * Delete old Reflection.Emit based syscall handling code * Improvements to the code generation * ControlCodeMemory address and size is always 64-bit
2022-05-31Refactor CPU interface to allow the implementation of other CPU emulators ↵gdkchan
(#3362) * Refactor CPU interface * Use IExecutionContext interface on SVC handler, change how CPU interrupts invokes the handlers * Make CpuEngine take a ITickSource rather than returning one The previous implementation had the scenario where the CPU engine had to implement the tick source in mind, like for example, when we have a hypervisor and the game can read CNTPCT on the host directly. However given that we need to do conversion due to different frequencies anyway, it's not worth it. It's better to just let the user pass the tick source and redirect any reads to CNTPCT to the user tick source * XML docs for the public interfaces * PPTC invalidation due to NativeInterface function name changes * Fix build of the CPU tests * PR feedback
2022-05-31Allow loading NSPs without a NCA inside (#3364)gdkchan
* Allow loading NSPs without a NCA inside * Set isHomebrew as true
2022-05-19Fix audio renderer error message result code base (#3348)gdkchan
2022-05-15Avalonia UI - Part 1 (#3270)Emmanuel Hansen
* avalonia part 1 * remove vulkan ui backend * move ui common files to ui common project * get name for oading screen from device * rebase. * review 1 * review 1.1 * review * cleanup * addressed review * use cancellation token * review * review * rebased * cancel library loading when closing window * remove star image, use fonticon instead * delete render control frame buffer when game ends. change position of fav star * addressed @Thog review * ensure the right ui is downloaded in updates * fix crash when showing not supported dialog during controller request * add prefix to artifact names * Auto-format Avalonia project * Fix input * Fix build, simplify app disposal * remove nv stutter thread * addressed review * add missing change * maintain window size if new size is zero length * add game, handheld, docked to local * reverse scale main window * Update de_DE.json * Update de_DE.json * Update de_DE.json * Update italian json * Update it_IT.json * let render timer poll with no wait * remove unused code * more unused code * enabled tiered compilation and trimming * check if window event is not closed before signaling * fix atmospher case * locale fix * locale fix * remove explicit tiered compilation declarations * Remove ) it_IT.json * Remove ) de_DE.json * Update it_IT.json * Update pt_BR locale with latest strings * Remove ')' * add more strings to locale * update locale * remove extra slash * remove extra slash * set firmware version to 0 if key's not found * fix * revert timer changes * lock on object instead * Update it_IT.json * remove unused method * add load screen text to locale * drop swap event * Update de_DE.json * Update de_DE.json * do null check when stopping emulator * Update de_DE.json * Create tr_TR.json * Add tr_TR * Add tr_TR + Turkish * Update it_IT.json * Update Ryujinx.Ava/Input/AvaloniaMappingHelper.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * addressed review * Update Ryujinx.Ava/Ui/Backend/OpenGl/OpenGlRenderTarget.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * use avalonia's inbuilt renderer on linux * removed whitespace * workaround for queue render crash with vsync off * drop custom backend * format files * fix not closing issue * remove warnings * rebase * update avalonia library * Reposition the Text and Button on About Page * Assign build version * Remove appveyor text Co-authored-by: gdk <gab.dark.100@gmail.com> Co-authored-by: Niwu34 <67392333+Niwu34@users.noreply.github.com> Co-authored-by: Antonio Brugnolo <36473846+AntoSkate@users.noreply.github.com> Co-authored-by: aegiff <99728970+aegiff@users.noreply.github.com> Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: MostlyWhat <78652091+MostlyWhat@users.noreply.github.com>
2022-05-08hid: Various fixes and cleanup (#3326)Ac_K
* hid: Various fix and cleanup * Add IsValidNpadIdType * remove ()
2022-05-05Enable JIT service LLE (#2959)gdkchan
* Enable JIT service LLE * Force disable PPTC when using the JIT service PPTC does not support multiple guest processes * Fix build * Make SM service registration per emulation context rather than global * Address PR feedback
2022-05-05Fix shared memory leak on Windows (#3319)gdkchan
* Fix shared memory leak on Windows * Fix memory leak caused by RO session disposal not decrementing the memory manager ref count * Fix UnmapViewInternal deadlock * Was not supposed to add those back
2022-05-03Implement PM GetProcessInfo atmosphere extension (partially) (#2966)gdkchan
2022-05-03Implement code memory syscalls (#2958)gdkchan
* Implement code memory syscalls * Remove owner process validation * Add 32-bit code memory syscalls * Remove unused field
2022-05-02Support memory aliasing (#2954)gdkchan
* Back to the origins: Make memory manager take guest PA rather than host address once again * Direct mapping with alias support on Windows * Fixes and remove more of the emulated shared memory * Linux support * Make shared and transfer memory not depend on SharedMemoryStorage * More efficient view mapping on Windows (no more restricted to 4KB pages at a time) * Handle potential access violations caused by partial unmap * Implement host mapping using shared memory on Linux * Add new GetPhysicalAddressChecked method, used to ensure the virtual address is mapped before address translation Also align GetRef behaviour with software memory manager * We don't need a mirrorable memory block for software memory manager mode * Disable memory aliasing tests while we don't have shared memory support on Mac * Shared memory & SIGBUS handler for macOS * Fix typo + nits + re-enable memory tests * Set MAP_JIT_DARWIN on x86 Mac too * Add back the address space mirror * Only set MAP_JIT_DARWIN if we are mapping as executable * Disable aliasing tests again (still fails on Mac) * Fix UnmapView4KB (by not casting size to int) * Use ref counting on memory blocks to delay closing the shared memory handle until all blocks using it are disposed * Address PR feedback * Make RO hold a reference to the guest process memory manager to avoid early disposal Co-authored-by: nastys <nastys@users.noreply.github.com>
2022-04-15Implement HwOpus multistream functions (#3275)gdkchan
* Implement HwOpus multistream functions * Avoid one copy
2022-04-08Remove save data creation prompt (#3252)MutantAura
* begone * review * mods directory update
2022-04-07service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle (#3247)Narr the Reg
2022-03-22hle: Some cleanup (#3210)Ac_K
* hle: Some cleanup This PR cleaned up a bit the HLE folder and the VirtualFileSystem one, since we use LibHac, we can use some class of it directly instead of duplicate things. The "Content" of VFS folder is removed since it should be handled in the NCM service directly. A larger cleanup should be done later since there is still be duplicated code here and there. * Fix Headless.SDL2 * Addresses gdkchan feedback
2022-03-20De-tile GOB when DMA copying from block linear to pitch kind memory regions ↵gdkchan
(#3207) * De-tile GOB when DMA copying from block linear to pitch kind memory regions * XML docs + nits * Remove using * No flush for regular buffer copies * Add back ulong casts, fix regression due to oversight
2022-03-20oslc: Fix condition in GetSaveDataBackupSetting (#3208)Ac_K
* oslc: Fix condition in GetSaveDataBackupSetting This PR fixes a condition previously implemented in #3190 where ACNH can't be booted without an existing savedata. Closes #3206 * Addresses gdkchan feedback
2022-03-15ntc: Implement IEnsureNetworkClockAvailabilityService (#3192)Ac_K
* ntc: Implement IEnsureNetworkClockAvailabilityService This PR implement a basic `IEnsureNetworkClockAvailabilityService` checked by RE. It's needed by Splatoon 2 with Guest Internet Access enabled. Game is now playable with this setting. * Update Ryujinx.HLE/HOS/Services/Nim/Ntc/StaticService/IEnsureNetworkClockAvailabilityService.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-03-15Caching local network info and using an event handler to invalidate as ↵Jumpman
needed (improves menu slow down issue in FE3H) (#2761) * Update IGeneralService.cs Fix IPV4 local ip related frame drop in fire emblem by rewriting [CommandHipc(12)] * Fix IPV4 Local IP Slowdown & Style Fixes fix a missing space * Remove unnecessary line * Fix for hardcoding which index to use * Replace argument with empty string. By sending an empty string to Dns.GetHostAddresses("") you get back localhost info only. * Add caching, undo change in GetCurrentIpAddress Implement caching and revert the GetCurrentIP() function, speed improvements still present. * Remove unnecessary using * Syntax fixes and removing extra lines Requested changes by AcK77 * Properly unsubscribe from event handler Adds an unsubscribe in the dispose section of IGeneralService
2022-03-12olsc: Implement GetSaveDataBackupSetting (#3190)Ac_K
* olsc: Implement GetSaveDataBackupSetting This PR implement GetSaveDataBackupSetting of OLSC service which is now needed by ACNH 2.0.5. The game is playable as usual if you use the same user profile as the original save file (I don't know if it was the case before), everything is checked by RE. * addresses gdkchan feedback
2022-03-12Fix GetUserDisableCount NRE (#3187)gdkchan
2022-03-12Limit number of events that can be retrieved from GetDisplayVSyncEvent (#3188)gdkchan
* Limit number of events that can be retrieved from GetDisplayVSyncEvent * Cleaning * Rename openDisplayInfos -> openDisplays
2022-03-11KThread: Fix GetPsr mask (#3180)merry
* ExecutionContext: GetPstate / SetPstate * Put it in NativeContext * KThread: Fix GetPsr mask * ExecutionContext: Turn methods into Pstate property * Address nit
2022-03-06Mod loading from atmosphere SD directories (#3176)MutantAura
* initial sd support * GUI option * alignment * review changes
2022-03-02Implement -p or --profile command line argument (#2947)JavidPack
* Implement -p or --profile command line argument * Put command line logic all in Program and reference it elsewhere * Address feedback
2022-02-27Update LibHac to v0.16.0 (#3159)Alex Barney
2022-02-22Collapse AsSpan().Slice(..) calls into AsSpan(..) (#3145)Berkan Diler
* Collapse AsSpan().Slice(..) calls into AsSpan(..) Less code and a bit faster * Collapse an Array.Clear(array, 0, array.Length) call to Array.Clear(array)
2022-02-19Add dedicated ServerBase for FileSystem services (#3142)riperiperi
This should prevent filesystem services from blocking other services that don't have their own ServerBase. May improve filesystem related stutters in certain titles. Improves button advanced cutscenes such as Miqol's Request in Xenoblade: DE when the game is on a network share (used to stutter when voice lines played). Should probably be tested to make sure no mysterious bugs have been unearthed, and to see if any other filesystem related perf issues are improved.
2022-02-18Enable CPU JIT cache invalidation (#2965)gdkchan
* Enable CPU JIT cache invalidation * Invalidate cache on IC IVAU
2022-02-18Use BitOperations methods and delete now unused BitUtils methods (#3134)Berkan Diler
Replaces BitUtils.CountTrailingZeros/CountLeadingZeros/IsPowerOfTwo with BitOperations methods