| Age | Commit message (Collapse) | Author |
|
* Make all structs readonly when applicable. It should reduce amount of needless defensive copies
* Make structs with trivial boilerplate equality code record structs
* Remove unnecessary readonly modifiers from TextureCreateInfo
* Make BitMap structs readonly too
|
|
|
|
* amadeus: Allow OOB read of GC-ADPCM coefficients
Fixes "Ninja Gaiden Sigma 2" and possibly "NINJA GAIDEN 3: Razor's Edge"
* amadeus: Fix wrong variable usage in delay effect
We should transform the delay line values, not the input.
* amadeus: Update GroupedBiquadFilterCommand documentation
* amadeus: Simplify PoolMapper alignment checks
* amadeus: Update Surround delay effect matrix to REV11
* amadeus: Add drop parameter support and use 32 bits integers for estimate time
Also implement accurate ExecuteAudioRendererRendering stub.
* Address gdkchan's comments
* Address gdkchan's other comments
* Address gdkchan's comment
|
|
(#3924)
|
|
* bsd: Fix eventfd broken logic
This commit fix eventfd logic being broken.
The following changes were made:
- EventFd IPC definition had argument inverted
- EventFd events weren't fired correctly
- Poll logic was wrong and unfinished for eventfd
- Reintroduce workaround from #3385 but in a safer way, and spawn 4
threads.
* ipc: Rework a bit for multithreads
* Clean up debug logs
* Make server thread yield when managed lock isn't availaible
* Fix replyTargetHandle not being added in the proper locking scope
* Simplify some scopes
* Address gdkchan's comments
* Revert IPC workaround for now
* Reintroduce the EventFileDescriptor workaround
|
|
|
|
* common: Make BinaryReaderExtensions Read & Write take unamanged types
This allows us to not rely on Marshal.PtrToStructure and Marshal.StructureToPtr for those.
* common: Make MemoryHelper Read & Write takes unamanged types
* Update Marshal.SizeOf => Unsafe.SizeOf when appropriate and start moving software applet to unmanaged types
|
|
* Update to LibHac 0.17.0
* Don't clear SD card saves when starting the emulator
This was an old workaround for errors that happened when a user's SD card encryption seed changed. SD card saves have been unencrypted for over a year, so we should be fine to remove the workaround.
|
|
* Add friend/Cancel. Closes #3824
* Update according to review comments.
* Add comment base on request
* Update Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
|
|
* am: Stub GetSaveDataSizeMax()
* am: Remove todo comment for GetSaveDataSizeMax()
* am: saveDataSize & journalDataSize should be of type long
* am: Add explanation for returning default values in GetSaveDataSizeMax()
|
|
`MB` and `GB` can either be interpreted as having base-10 units, or
base-2. `MiB` and `GiB` removes this discrepancy so that units of memory
are always interpreted using base-2 units.
|
|
|
|
|
|
* Update readme to mention .NET 7
* infra: Migrate to .NET 7
.NET 7 is still in preview but this prepare for the release coming up
next month.
* Use Random.Shared in CreateRandom
* Move UInt128Utils.cs to Ryujinx.Common project
* Fix inverted parameters in System.UInt128 constructor
* Fix Visual Studio complains on Ryujinx.Graphics.Vic
* time: Fix missing alignment enforcement in SystemClockContext
Fixes at least Smash
* time: Fix missing alignment enforcement in SteadyClockContext
Fix games (like recent version of Smash) using time shared memory
* Switch to .NET 7.0.100 release
* Enable Tiered PGO
* Ensure CreateId validity requirements are meet when doing random generation
Also enforce correct packing layout for other Mii structures.
This fix a Mario Kart 8 crashes related to the default Miis.
|
|
* Update IIrSensorServer.cs
* Update IIrSensorServer.cs
* Apply suggestions from code review
Addressed formatting feedback
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update IIrSensorServer.cs
* Update ISelfController.cs
* Update ISelfController.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
|
|
* Update IIrSensorServer.cs
* Update IIrSensorServer.cs
* Apply suggestions from code review
Addressed formatting feedback
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update IIrSensorServer.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
|
|
|
|
* Manage state of NfcManager
Very basic state management but works with Hyrule Warriors Definitive Edition. Partially fixes #2122
* Fixes changes from review
|
|
* Avoid allocations in .Parse methods
Use the Span overloads of the Parse methods when possible to avoid string allocations and remove one unnecessarry array allocation
* Avoid another string allocation
|
|
* Implement OpenDataStorageWithProgramIndex partially
* Was not supposed to change this
|
|
|
|
* Change NvMap ID allocation to match nvservices
* Move NvMapIdDictionary to Types
|
|
needed (#3739)
* Fix memory corruption in FS Read methods when buffer is larger than needed
* PR feedback
* nit: Don't move this around
|
|
|
|
* fatal: Implement Service
This PR adds a basic implementation of fatal service, guest processes call it when there is something wrong. But since we can already have all informations by debugging it's not really useful.
In any case, that's avoid an unimplemented service exception. Structs/Enum are based on Atmosphère source code.
After logs the error report, I call SvcBreak. Feedbacks are welcome on this, since some guests calls it right after fatal service so I can remove it if needed.
* Addresses gdkchan feedback
|
|
* Fix SSL GetCertificates with certificate ID set to All
* Fix last entry status value
|
|
* Fix ListOpenContextStoredUsers and stub LoadOpenContext
* Remove nonsensical comment
|
|
memory (#3276)
* Allocate work buffer for audio renderer instead of using guest supplied memory
* Typo
* Use GC.AllocateArray to allocate pinned array
|
|
We should report errors even when not requested.
This also ensure we only clear the bits that were requested on the output.
Finally, this fix when input events is 0.
|
|
* bsd: implement sendmmsg and recvmmsg
* Fix wrong increment of vlen
|
|
* Bsd: Fix NullReferenceException in BsdSockAddr.FromIPEndPoint()
Allows "Victor Vran Overkill Edition" to boot with guest internet access enabled.
Thanks to EmulationFanatic for testing this for me!
* Bsd: Return proper error code if RemoteEndPoint is null
* Remove whitespace from empty line
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
|
|
* Change vsync signal to happen at 60hz, regardless of swap interval
* Update Ryujinx.HLE/HOS/Services/SurfaceFlinger/SurfaceFlinger.cs
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* Fix softlock when toggling vsync
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
|
|
This was an oversight of the implementation.
|
|
|
|
|
|
This is needed to run Pokemon Legends Arceus 1.1.1 with guest internet enabled.
The game still get stuck at loading screen.
|
|
* Bsd: Fix ArgumentOutOfRangeException in SetSocketOption
* Ensure option level is Socket before checking for SoLinger
|
|
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.
|
|
This PR Implement `EndFreeCommunication` (checked by RE). Nothing more.
Closes #2420
|
|
* Removed unused usings.
* Added back using, now that it's used.
* Removed extra whitespace.
|
|
GetHdcpAuthenticationState (#3535)
This PR some calls in `am` service:
- ISelfController: SetWirelessPriorityMode, SaveCurrentScreenshot (Partially checked by RE).
- ICommonStateGetter: GetHdcpAuthenticationState
Close #1831 and close #3527
|
|
|
|
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)
|
|
|
|
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.
|
|
* Fix Vi managed and stray layers open/close/destroy
* OpenLayer should set the state to ManagedOpened
|
|
|
|
As title say
|
|
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.
|
|
* 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
|