| Age | Commit message (Collapse) | Author |
|
|
|
* Improve StoreToContext emission
Hoist StoreToContext in dynamic branch fast & slow paths out into
their predecessor.
Reduces register pressure, code size and compile time because we're
throwing less stuff down the pipeline.
* Set PTC internal version
* Turn EmitDynamicTableCall private
* Re-trigger CI
|
|
support (#2167)
|
|
* Reduce allocation during SSA construction
* Re-trigger CI
|
|
* Update Pro Controller Image
This Updates the Pro controller Images.
* fix some nits
|
|
|
|
* Add missing return
* Change TamperMachine sleep to 83ms
* Change constant name to PascalCase
|
|
* Implement shader HelperThreadNV
* Bump shader cache version
* Use gl_HelperInvocation since its supported across all vendors
* Nit
|
|
* Force command flush after creating GL sync
* This is not required, as the commands were flushed on creation.
* Move comment.
|
|
Make the regex patterns case insensitive for robustness
|
|
|
|
This PR stub ILibraryAppletAccessor (20) RequestExit call which is needed by Monster Hunter Rise when you press "Private Policy" at the beginning.
The game try to run the `WebApplet` which is already partially stubbed, then call `RequestExit` to know when the applet exits. If the call does nothing, the game just hang forever. If you signals the event, you can interracts with the menu again.
|
|
* Fix ZN flags set for shader instructions using RZ.CC dest
* Shader cache version bump and nits
|
|
* misc: Add credit to AmiiboAPI properly and fix a warning disable
This PR adds a properly credit to AmiiboAPI which is used in our Amiibo emulation in the Readme and in the about window.
I've changed a wrong warning code added in a recent PR too.
* Update README.md
* Fix aligment
|
|
* Add initial implementation of the Tamper Machine
* Implement Atmosphere opcodes 0, 4 and 9
* Add missing TamperCompilationException class
* Implement Atmosphere conditional and loop opcodes 1, 2 and 3
* Inplement input conditional opcode 8
* Add register store opcode A
* Implement extended pause/resume opcodes FF0 and FF1
* Implement extended log opcode FFF
* Implement extended register conditional opcode C0
* Refactor TamperProgram to an interface
* Moved Atmosphere classes to a separate subdirectory
* Fix OpProcCtrl class not setting process
* Implement extended register save/restore opcodes C1, C2 and C3
* Refactor code emitters to separate classes
* Supress memory access errors from the Tamper Machine
* Add debug information to tamper register and memory writes
* Add block stack check to Atmosphere Cheat compiler
* Add handheld input support to Tamper Machine
* Fix code styling
* Fix build id and cheat case mismatch
* Fix invalid immediate size selection
* Print build ids of the title
* Prevent Tamper Machine from change code regions
* Remove Atmosphere namespace
* Remove empty cheats from the list
* Prevent code modification without disabling the tampering
* Fix missing addressing mode in LoadRegisterWithMemory
* Fix wrong addressing in RegisterConditional
* Add name to the tamper machine thread
* Fix code styling
|
|
|
|
* caps: Implement SaveScreenShot calls and cleanup
This PR implement:
- caps:u IAlbumApplicationService (32) SetShimLibraryVersion
- caps:c IAlbumControlService (33) SetShimLibraryVersion
- caps:su IScreenShotApplicationService (32) SetShimLibraryVersion
- caps:su IScreenShotApplicationService (203/205/210) SaveScreenShotEx0/SaveScreenShotEx1/SaveScreenShotEx2
ImageSharp is used to save the raw screenshot data as a JPG file following what the service does.
All screenshots are save in: `%AppData%\Ryujinx\sdcard\Nintendo\Album` folder. (as example a screenshot file path will be `%AppData%\Ryujinx\sdcard\Nintendo\Album\2021\03\26\2021032601020300-0123456789ABCDEF0123456789ABCDEF.jpg`
This is needed by Animal Crossing: New Horizon where screenshots looks like this:
And this is needed in Monster Hunter Rise but screenshots are currently empty due to another issue.
* remove useless comment
* Addresses gdkchan feedback
* Addresses gdkchan feedback 2
* remove useless comment 2
* Fix nits
|
|
|
|
and add service placeholder (#2136)
* am/ectx: Implement SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled and add service placeholder
This PR implements `am` service call `SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled` (closes #2028) accordingly to RE and adds placeholder for the `ectx` service. Both were added in 11.0.0+ firmware and are needed to boots games which needs this version.
Some games are now playable/bootable:
* Remove unused warning
|
|
* sfdnsres: Cleanup service and implements some calls
This PR is a big cleanup to our current implementation of `sfdnsres` service.
Additionnaly to that, some calls and fix have been done by @Thog (PRd with approval, thanks to her).
- Implementation of `GetAddrInfoRequest` (Fixes #637).
- Partial implementation of `GetHostByNameRequestWithOptions`, `GetHostByAddrRequestWithOptions` and `GetAddrInfoRequestWithOptions` (Fixes #642, Fixes #1233).
A DNS Blacklist have been done by @riperiperi (which is currently used in LDN build, then that reduces code differences between the LDN build and master.
Now a lot of games are playable or are blocked to the menu because it needs online service:
Co-Authored-By: Mary <1760003+Thog@users.noreply.github.com>
Co-Authored-By: riperiperi <6294155+riperiperi@users.noreply.github.com>
* Addressed gdkchan's comments
* IPAddress[] to IEnumerable
* Nits
Co-authored-by: Mary <1760003+Thog@users.noreply.github.com>
Co-authored-by: riperiperi <6294155+riperiperi@users.noreply.github.com>
|
|
Signal and setup events correctly
Eliminate possible races
Use a single event
Mark volatiles and reduce scope of waithandles
Common handler
100ms -> 50ms
|
|
|
|
Let's github actions pack zip for all os, put the real name in the output artifact and ensure to only publish the Ryujinx project
|
|
* Salieri: Add blacklist system and blacklist shaders using bindless
Currently the shader cache doesn't have the right format to support
bindless textures correctly and may cache shaders that it cannot rebuild
after host invalidation.
This PR address the issue by blacklisting shaders using bindless
textures.
THis also support detection of already cached broken shader and handle removal
of those.
* Move to a feature flags design to avoid intrusive changes in the translator
This remove the auto correct behaviour
* Reduce diff on TranslationFlags
* Reduce comma on last entry of TranslationFlags
* Fix inverted logic and remove leftovers
* remove debug edits oops
|
|
* Improve linear texture compatibility rules
Fixes an issue where small or width-aligned (rather than byte aligned) textures would fail to create a view of existing data. Creates a copy dependency as size change may be risky.
* Minor cleanup
* Remove Size Change for Copy Depenedencies
The copy to the target (potentially different sized) texture can properly deal with cropping by itself.
* Move StrideAlignment and GobAlignment into Constants
|
|
This PR remove the IIpcService.cs interface usage which isn't needed anymore since the interface is only used by IpcService class. We can use it directly.
|
|
* Added more items to log
* Update MainWindow.cs
* Added log when changing settings
* fix formating and add log when toggling vsync and docked
* Update Ryujinx/Ui/MainWindow.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update Ryujinx/Ui/MainWindow.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update Ryujinx/Ui/Windows/SettingsWindow.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Fix formating
* Change Location according to suggestion
* Implemented OpenDataStorageWithProgramIndex
* Update IFileSystemProxy.cs
* Update IFileSystemProxy.cs
* Commited that file on accidant
* Revert "Merge branch 'master' of https://github.com/Joshi234/Ryujinx"
This reverts commit 375f43045507bc12e743ae1babc6f47bd72987f5, reversing
changes made to 672e2c8f7da28160f2f575a16aaa135d232bf655.
* Revert "Update IFileSystemProxy.cs"
This reverts commit 672e2c8f7da28160f2f575a16aaa135d232bf655.
* Update IFileSystemProxy.cs
* Update ISystemSettingsServer.cs
* removed accidantel addition of IFileSystemProxy.OpenDataStorageWithProgramIndex
* Fix formating and add missing stub
* Update ISystemSettingsServer.cs
* Added more items to log
* Update MainWindow.cs
* Added log when changing settings
* fix formating and add log when toggling vsync and docked
* Fix formating
* Update Ryujinx/Ui/MainWindow.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update Ryujinx/Ui/MainWindow.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update Ryujinx/Ui/Windows/SettingsWindow.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Change Location according to suggestion
* Fix Rebase stuff
* Change Logger.Notice to Loger.Info
* Update ISystemSettingsServer.cs
* Update ISystemSettingsServer.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
|
|
This PR implement `ApplicationErrorArg` to the Error Applet. It's used by the guest to throw some specific error messages.
The code was done for (and merged) LDN2 build since long time ago and have been tested a bunch of times because of that! In a way to reduce the differences between LDN and master build it's fine to add it to master.
|
|
* Minor wording fixes
* Exit dialogue.
* Update MainWindow.cs
* Update DlcWindow.cs
* I found an actual typo for once.
* There we go.
* Fix
* Update MainWindow.cs
* MainWindow is done
* Update ControllerWindow.cs
|
|
* Initial Impl.
* You just want me cause I'm next
* Fix some logics
* Fix close button
|
|
|
|
* Implement friendlier portable mode
* Remove first run dialog
* Disable updates in portable mode for now
* Convert relative custom paths to absolute ones
Also, fix a regression when custom path doesn't exist
|
|
That one missing patch oops.
|
|
|
|
This enforce speaker mode to avoid weird audio quality reduction with
output considered as headphones by Windows (It applies a HRTF or crossfeed filter supposed to improve audio quality, might be a bug on their end)
|
|
This PR fixes a GitHub Action warning, nothing more.
|
|
|
|
Fixes a possible crash when width is greater than stride, which can happen due to alignment when copying textures.
|
|
This allows bindless handles to be found for image/texture instructions with predicates, when the assignment of the texture handle is within the same predicate.
This seems to cover the remaining bindless handles that compilers seem to be creating due to optimizations.
Will affect newer UE4 games, and games by NdCube (Super Mario Party, Clubhouse Games)
|
|
* Improve Buffer Textures and flush Image Stores
Fixes a number of issues with buffer textures:
- Reworked Buffer Textures to create their buffers in the TextureManager, then bind them with the BufferManager later.
- Fixes an issue where a buffer texture's buffer could be invalidated after it is bound, but before use.
- Fixed width unpacking for large buffer textures. The width is now 32-bit rather than 16.
- Force buffer textures to be rebound whenever any buffer is created, as using the handle id wasn't reliable, and the cost of binding isn't too high.
Fixes vertex explosions and flickering animations in UE4 games.
* Set ImageStore flag... for ImageStore.
* Check the offset and size.
|
|
* Flip component mask if target is BGRA.
* Make mask selection less ugly.
|
|
* Remove unused physical region tracking
* Update comments
|
|
* Improve handling for unmapped GPU resources
- Fixed a memory tracking bug that would set protection on empty PTEs
- When a texture's memory is (partially) unmapped, all pool references are forcibly removed and the texture must be rediscovered to draw with it. This will also force the texture discovery to always compare the texture's range for a match.
- RegionHandles now know if they are unmapped, and automatically unset their dirty flag when unmapped.
- Partial texture sync now loads only the region of texture that has been modified. Unmapped memory tracking handles cause dirty flags for a texture group handle to be ignored.
This greatly improves the emulator's stability for newer UE4 games.
* Address feedback, fix MultiRange slice
Fixed an issue where the size of the multi-range slice would be miscalculated.
* Update Ryujinx.Memory/Range/MultiRange.cs (feedback)
Co-authored-by: Mary <thog@protonmail.com>
Co-authored-by: Mary <thog@protonmail.com>
|
|
I happened to notice this when checking Ryu's IPC structures. After double checking with RE it seems the current check is incorrect so use the correct member to fix that.
|
|
* UI changes
* Add progress reporting to PTC & ShaderCache
* Account for null events and expand docs
Co-authored-by: Joshi234 <46032261+Joshi234@users.noreply.github.com>
|
|
Add fast paths in the audio renderer for AArch64 in all current fast paths.
|
|
* Rewrite cursor hiding code to be efficient
* Formatting nits
|
|
* Initial implementation (3d tex mips broken)
This works rather well for most games, just need to fix 3d texture mips.
* Cleanup
* Address feedback
* Copy Dependencies and various other fixes
* Fix layer/level offset for copy from view<->view.
* Remove dirty flag from dependency
The dirty flag behaviour is not needed - DeferredCopy is all we need.
* Fix tracking mip slices.
* Propagate granularity (fix astral chain)
* Address Feedback pt 1
* Save slice sizes as part of SizeInfo
* Fix nits
* Fix disposing multiple dependencies causing a crash
This list is obviously modified when removing dependencies, so create a copy of it.
|
|
* Fix wrong VA being passed to VirtualMemoryEvent
* Remove unnecessary type in discard
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
|
|
* Revise SystemInfo
Cleans up and adds a bit more info (logical core count and available mem at launch) to logs.
- Extract CPU name from CPUID when supported.
- Linux: Robust parsing of procfs files
- Windows: Prefer native calls to WMI
- Remove unnecessary virtual specifiers
* Address gdkchan's comments
* Address AcK's comments
* Address formatting nits
|