aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-04Implement a new physical memory manager and replace DeviceMemory (#856)gdkchan
* Implement a new physical memory manager and replace DeviceMemory * Proper generic constraints * Fix debug build * Add memory tests * New CPU memory manager and general code cleanup * Remove host memory management from CPU project, use Ryujinx.Memory instead * Fix tests * Document exceptions on MemoryBlock * Fix leak on unix memory allocation * Proper disposal of some objects on tests * Fix JitCache not being set as initialized * GetRef without checks for 8-bits and 16-bits CAS * Add MemoryBlock destructor * Throw in separate method to improve codegen * Address PR feedback * QueryModified improvements * Fix memory write tracking not marking all pages as modified in some cases * Simplify MarkRegionAsModified * Remove XML doc for ghost param * Add back optimization to avoid useless buffer updates * Add Ryujinx.Cpu project, move MemoryManager there and remove MemoryBlockWrapper * Some nits * Do not perform address translation when size is 0 * Address PR feedback and format NativeInterface class * Remove ghost parameter description * Update Ryujinx.Cpu to .NET Core 3.1 * Address PR feedback * Fix build * Return a well defined value for GetPhysicalAddress with invalid VA, and do not return unmapped ranges as modified * Typo
2020-05-03Use correct swizzle on depth-stencil textures (#1196)gdkchan
2020-05-03Remove buffer invalidation (#1194)gdkchan
2020-05-03Add various error codes to Audio (#1201)VolcaEM
The error codes were taken from Switchbrew (switchbrew.org/wiki/Error_codes)
2020-05-03Fix issues causing keyboard profiles to throw errors on load. (#1206)riperiperi
* Fix issues causing keyboard profiles to throw errors on load. * Re-add space before the using aliases
2020-05-03Add various error codes to BCAT (#1202)VolcaEM
* Add various error codes to BCAT The error codes were taken from Switchbrew (switchbrew.org/wiki/Error_codes) As for InternetRequestDenied, it seems that this error is common for multiple services like Account for example I already added this error code in Account in PR #1182 * Add some results codes from Libhac and keep names consistent
2020-05-03Revert package include condition (#1204)Xpl0itR
2020-05-03system: Make index 0 of keyboards in configuration 'all keyboards'Thog
2020-05-03ui: fix major regression on SaveConfigThog
2020-05-03Improvements to input and input configuration in the GUI. (#849)Xpl0itR
* Improvements to input and input configuration in the GUI * Requested changes * nits * more nits
2020-05-03catch key errors (#1157)Xpl0itR
2020-05-03Adding .editorconfig so code style can be consistent and localized (#1131)Michael Kuklinski
* Updated all NuGet packages to latest, and updated the framework from .NET Core 3.0 to 3.1. * Updating appveyor settings for 3.1 Updating appveyor to use the netcoreapp3.1 path instead of 3.0. * Removing unneeded NuGet package System.Runtime.CompilerServices.Unsafe. * Removing unused NuGet package SharpFontCore. * Removing unused NuGet package TimeZoneConverter.Posix * Cleaning up by adding newline to a csproj. * Simplfying a NuGet conditional include, and adding a warning disable for an annoying NuGet package. * Adding .editorconfig so users have a consistent style setting regardless of their local settings. * I'm not sure if .travis.yml is still used, but I'm updating its 'dotnet' version to the correct SDK. * Making the runtime version into its own environment variable so it's a bit easier to change in the future. * Removing OpenTK.NetStandard reference from Ryujinx.Common * Fixing indentation in Common.csproj * Updating the README to specify .NET Core 3.1. * Reverting the update of the GTKSharp package so it doesn't block the PR.
2020-05-02nvservice: add a lock around NvHostEvent and remove release fence on SFv2 ↵Thog
(#1197) * nvservice: add a lock to NvHostEvent * Disable surface flinger release fence and readd infinite timeout * FenceAction: Add a timeout of 1 seconds as this shouldn't wait forever anyuway * surfaceflinger: remove leftovers from the release fence * Don't allow infinite timeout on syncpoint while printing all timeout for better debugging
2020-05-02Add error code for denied internet request in Account (#1182)VolcaEM
InternetRequestDenied (I can't find a better name) was taken from Switchbrew (switchbrew.org/wiki/Error_codes) Regarding this error, SwitchBrew notes: "IsAnyInternetRequestAccepted with the output from GetClientId returned false."
2020-05-02Add various error codes to AM (#1183)VolcaEM
* Add various error codes to AM The error codes were taken from Switchbrew (https://switchbrew.org/wiki/Error_codes) * TitleID -> TitleId
2020-05-01nvservices: mitigate abort with heavy load on the GPU processing thread (#1173)Thog
* nvservices: mitigate abort with heavy load on the GPU processing thread. This should fix Mario Tennis and LM3 regressions with syncpoints. NOTE: Mario Tennis seems to have another issue related to the texture cache that happens randomly when starting a match. PS: Also add a debug logger for all known ioctl call to facilitate debugging and add a missing UpdateMin in EventSignal. * Address LDj3SNuD's comment * Address gdkchan's comment
2020-05-01Do not compute dominance information when not in SSA (#1176)Ficture Seven
2020-05-01am: add IsVrModeEnabled (#1189)Thog
* am: stub IsVrMode Needed by SSBU 7.0.0 * Address Ac_K's comments
2020-05-01Update to LibHac 0.11.1 (#1186)Alex Barney
- Adds EnumerateDeliveryCacheDirectory to BCAT
2020-04-30Use the official JSON parser (#1151)Thog
This remove Utf8son and JsonPrettyPrinter dependencies. NOTE: the standard JSON parser doesn't support configurable indentation, as a result, all the pretty printed JSON are indented with 2 spaces.
2020-04-30Add BCAT delivery cache support (#1154)Alex Barney
* Initial bcat delivery cache support * Use LibHac 0.11.0 * Add option to open the BCAT savedata directory
2020-04-30audren: implement Renderer Info output informations (#1179)Thog
This implement the rendering information output informations of RequestUpdate. This is needed by some games to keep track of the count of update on the DSP.
2020-04-30Fix depth clamp enable bit, unit scale for polygon offset. (#1178)riperiperi
Verified with deko3d and opengl driver code.
2020-04-28Create log folder if not exists fixes #1143 (#1146)Patrick Grabensteiner
* Create log folder if not exists fixes #1143 * Fixed Format Co-authored-by: Patrick Grabensteiner <patrick.grabensteiner@gmx.at>
2020-04-28Fix hbl 2.3.1 and hbmenu 3.3.0 (#1171)Thog
* Fix hbl 2.3.1 and hbmenu 3.3.0 * log class: Add ServicePtm * fix build issue * do not cast titleId to byte * Address Ac_K's comment
2020-04-27Revert package include condition (#1164)Xpl0itR
2020-04-27Fix shadow RAM affecting MME methods (#1168)gdkchan
2020-04-25Fix building of previous commitThog
2020-04-25Fix MME shadow RAM implementation (#1051)gdkchan
2020-04-25Fix mode and Reg08.H1 decoding on XMAD instruction (#1156)gdkchan
2020-04-25Fix texture level offset/size calculation when sparse tile width is > 1 (#1142)gdkchan
* Fix texture level offset/size calculation when sparse tile width is > 1 * Sparse tile width affects layer size alignment aswell
2020-04-25Fix kernel memory allocator block coalescing (#1155)gdkchan
* Fix kernel memory allocator block coalescing * Fix and move clear bit logic to a separate method
2020-04-25UI: Implement interactive search on GameTable (#1148)Thog
As I was unable to disable the ctrl + f keybinding, this implement something to make it works with the default GTK code logic. Also remove unused _treeView static member.
2020-04-25Implement texture buffers (#1152)gdkchan
* Implement texture buffers * Throw NotSupportedException where appropriate
2020-04-25Log Ryujinx Version, OS Name, CPU Name and RAM size (#1102)Xpl0itR
* Log Ryujinx version and OS * Log total RAM size and CPU name * Requested changes * requested change * jd's requested changes * jd's requested changes
2020-04-25Do temp constant copy for CompareAndSwap, other improvements to PreAllocator ↵gdkchan
(#1126) * Do temp constant copy for CompareAndSwap, other improvements to PreAllocator * Nit
2020-04-25Implement Constant Color blends (#1119)mageven
* Implement Constant Color blends and init blend states * Address gdkchan's comments Also adds Set methods to GpuState * Fix descriptions of QueryModified
2020-04-25SurfaceFlinger: fix SetPreallocatedBuffer correctness (#1153)Thog
Nintendo sets the buffer count in SetPreallocatedBuffer too. This fix triple buffering on all games and finally fix SSBU flickering.
2020-04-23ui: Make ExtractSection supports updates (#1150)Thog
This adds update support to the section extractor.
2020-04-23Fix metadata.json JsonParsingException crash (#1062)Xpl0itR
* Load defualt metadata if the metadata.json gets corrupt * Write to disk immediately to decrease the chances of corruption
2020-04-23Add support for dynamic docking/undocking (#1147)Thog
* Add support for dynamic docking/undocking As SurfaceFlinger is now working more accurately, we can now support dynamic configuration of docking mode :) * Simplify a bt the code * Fix import ordering * Remove unused argument
2020-04-22SurfaceFlinger: Invalid GraphicBuffer in SetPreallocatedBuffer (#1145)Thog
This invalidate the GraphicBuffer on the consumer side when SetPreallocatedBuffer is called on a buffer slot. This fix rendering issues on games with a dynamic resolution like Yoshi Crafted World.
2020-04-22Remove leftover of debugging code for shader texture format (#1141)gdkchan
2020-04-22Initial conditional rendering support (#1012)gdkchan
* Initial conditional rendering support * Properly reset state * Support conditional modes and skeleton a counter cache for future host conditional rendering * Address PR feedback
2020-04-22Update .NET Core to 3.1, and update NuGet Packages (#1121)Michael Kuklinski
* Updated all NuGet packages to latest, and updated the framework from .NET Core 3.0 to 3.1. * Updating appveyor settings for 3.1 Updating appveyor to use the netcoreapp3.1 path instead of 3.0. * Removing unneeded NuGet package System.Runtime.CompilerServices.Unsafe. * Removing unused NuGet package SharpFontCore. * Removing unused NuGet package TimeZoneConverter.Posix * Cleaning up by adding newline to a csproj. * Simplfying a NuGet conditional include, and adding a warning disable for an annoying NuGet package. * I'm not sure if .travis.yml is still used, but I'm updating its 'dotnet' version to the correct SDK. * Making the runtime version into its own environment variable so it's a bit easier to change in the future. * Removing OpenTK.NetStandard reference from Ryujinx.Common * Fixing indentation in Common.csproj * Updating the README to specify .NET Core 3.1. * Reverting the update of the GTKSharp package so it doesn't block the PR.
2020-04-22SurfaceFlinger v2 (#981)Thog
* Rewrite SurfaceFlinger Reimplement accurately SurfaceFlinger (based on my 8.1.0 reversing of it) TODO: support swap interval properly and reintroduce disabled "game vsync" support. * Some fixes for SetBufferCount * uncomment a test from last commit * SurfaceFlinger: don't free the graphic buffer in SetBufferCount * SurfaceFlinger: Implement swap interval correctly * SurfaceFlinger: Reintegrate Game VSync toggle * SurfaceFlinger: do not push a fence on buffer release on the consumer side * Revert "SurfaceFlinger: do not push a fence on buffer release on the consumer side" This reverts commit 586b52b0bfab2d11f361f4b59ab7b7141020bbad. * Make the game vsync toggle work dynamically again * Unregister producer's Binder object when closing layer * Address ripinperi's comments * Add a timeout on syncpoint wait operation Syncpoint aren't supposed to be waited on for more than a second. This effectively workaround issues caused by not having a channel scheduling in place yet. PS: Also introduce Android WaitForever warning about fence being not signaled for 3s * Fix a print of previous commit * Address Ac_K's comments * Address gdkchan's comments * Address final comments
2020-04-22Implement SULD shader instruction (#1117)gdkchan
* Implement SULD shader instruction * Some nits
2020-04-21Suppress warnings from fields never used or never assigned (CS0169 and ↵Cristallix
CS0649) (#919) * chore : disable unwanted warnings and minor code cleanup * chore : remove more warnings * fix : reorder struct correctly * fix : restore _isKernel and remove useless comment * fix : copy/paste error * fix : restore CallMethod call * fix : whitespace * chore : clean using * feat : remove warnings * fix : simplify warning removal on struct * fix : revert fields deletion and code clean up * fix : re-add RE value * fix : typo
2020-04-20Report more realistic GPU timestamps when FastGpuTime is enabled (#1139)gdkchan
2020-04-20Avoid temporaries when pre-allocating Store %x, imm8/16/32 (#1123)Ficture Seven