aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-11Mask shift constants on x86 backend (#1382)gdkchan
* Mask shift constants on x86 backendd * Version bump
2020-07-11Fold ZeroExtend8/16/32 imm32/64 (#1358)Ficture Seven
* Fold ZeroExtend8/16/32 imm32/64 * Increment PTC version
2020-07-11Fold ConvertI64ToI32 imm64 (#1359)Ficture Seven
* Fold ConvertI64ToI32 imm64 * Increment PTC version * Bump PPTC InternalVersion Co-authored-by: jduncanator <1518948+jduncanator@users.noreply.github.com>
2020-07-10Implement Logical Operation registers and functionality (#1380)riperiperi
* Implement Logical Operation registers and functionality. * Address Feedback 1
2020-07-09Implement modding support (#1249)mageven
* Implement Modding Support * Executables: Rewrite to use contiguous mem and Spans * Reorder ExeFs, Npdm, ControlData and SaveData calls After discussion with gdkchan, it was decided it's best to call LoadExeFs after all other loads are done as it starts the guest process. * Build RomFs manually instead of Layering FS Layered FS approach has considerable latency when building the final romfs. So, we manually replace files in a single romfs instance. * Add RomFs modding via storage file * Fix and cleanup MemPatch * Add dynamically loaded NRO patching * Support exefs file replacement * Rewrite ModLoader to use mods-search architecture * Disable PPTC when exefs patches are detected Disable PPTC on exefs replacements too * Rewrite ModLoader, again * Increased maintainability and matches Atmosphere closely * Creates base mods structure if it doesn't exist * Add Exefs partition replacement * IPSwitch: Fix nsobid parsing * Move mod logs to new LogClass * Allow custom suffixes to title dirs again * Address nits * Add a per-App "Open Mods Directory" context menu item Creates the path if not present. * Normalize tooltips verbiage * Use LocalStorage and remove unused namespaces
2020-07-09Fix PPTC on Windows 7. (#1369)LDj3SNuD
* Fix PPTC on Windows 7. * Address gdkchan comment.
2020-07-07Implement Zero-Configuration Resolution Scaling (#1365)riperiperi
* Initial implementation of Render Target Scaling Works with most games I have. No GUI option right now, it is hardcoded. Missing handling for texelFetch operation. * Realtime Configuration, refactoring. * texelFetch scaling on fragment shader (WIP) * Improve Shader-Side changes. * Fix potential crash when no color/depth bound * Workaround random uses of textures in compute. This was blacklisting textures in a few games despite causing no bugs. Will eventually add full support so this doesn't break anything. * Fix scales oscillating when changing between non-native scales. * Scaled textures on compute, cleanup, lazier uniform update. * Cleanup. * Fix stupidity * Address Thog Feedback. * Cover most of GDK's feedback (two comments remain) * Fix bad rename * Move IsDepthStencil to FormatExtensions, add docs. * Fix default config, square texture detection. * Three final fixes: - Nearest copy when texture is integer format. - Texture2D -> Texture3D copy correctly blacklists the texture before trying an unscaled copy (caused driver error) - Discount small textures. * Remove scale threshold. Not needed right now - we'll see if we run into problems. * All CPU modification blacklists scale. * Fix comment.
2020-07-05prepo: Update implementation for 10.x changes (#1361)Mary
* prepo: Update implementation for 10.x changes On 10.x, Nintendo changed yet another time the prepo SaveReport & SaveReportWithUser command ids. This PR add support for command 10104 & 10105 and update naming of the old variants to match switchbrew. * Fix misalign and remove a ToString * Address jD's comment
2020-07-04Readd SoundIO as OpenAL fallback (#1356)Mary
2020-07-04Fix compilation warnings and use new LibHac APIs for executable loading (#1350)Mary
* Fix compilation warnings and use new LibHac APIs for executable loading * Migrate NSO loader to the new reader and fix kip loader * Fix CS0162 restore * Remove extra return lines * Address Moose's comment
2020-07-04Implement shader LEA instruction and improve bindless image load/store (#1355)gdkchan
2020-07-04Fix buffer to 3D texture copy (#1354)gdkchan
2020-07-04Changes to game list reloading (#1334)Xpl0itR
* Only reload list when game dirs are changed * do not reload game list when game is loaded
2020-07-04Implement audio backend configuration option (#1325)Xpl0itR
* Implement audio backend configuration option * Use OpenAL by default * Increment version number in config.json and add 30px to the height of the settings window * nits * capitalise audio backend names
2020-07-04GameTableContextMenu: Implemented options for PPTC (#1321)Sera
* GameTableContextMenu: Implemented options for PPTC Added an option for purging the cache and for opening the PPTC directory. * Fixed formating and used a better naming scheme for some of the variables. * Fixed some nits * Fixed more nits * Rearranged the context menu and fixed some nits * Addressed LDj's review
2020-07-04SettingsWindow: Add the ability to add multiple game directories at once (#1314)Sera
* SettingsWindow: Add the ability to choose multiple game directories in one go * Adressed emmauss's suggestion * Simplified the check for duplicate game directories As per Xpl0itr's and emmauss's suggestion, I simplified the loop that checks if the selected game directories are already added. * Fixed a nit
2020-07-04Stub nifm IRequest GetAppletInfo (#1326)mageven
* Stub GetAppletInfo to be consistent with GetResult * Fix formatting and enum * Update and use ResultCode
2020-07-04Support inline index buffer data (#1351)gdkchan
* Support inline index buffer data * Sort usings
2020-07-04Fix compute restore of previous shader state (#1352)gdkchan
2020-07-04Call syncpoint expiration callback outside of the lock (#1349)gdkchan
2020-07-04sockets: Make sure to write the receivedBuffer (#1346)Mary
Fix #1341
2020-07-01Remove dummy LLE project (#1336)gdkchan
2020-06-26Remember GUI column sort and separate hotkey settings from emulated input ↵Xpl0itR
settings (#1223) * Separate hotkey settings from emulated input settings * Remember gui column sort * nit * fix schema * nit * Remove unused SaveDataPath to speed up game list loading * Reset the vertical scrollbar to the top when titles finish loading
2020-06-24Fix VMVN (immediate), Add VPMIN, VPMAX, VMVN (register) (#1303)riperiperi
* Add Vmvn (register), tests for both Vmvn variants. * Add Vpmin, Vpmax, improve Non-FastFp accuracy for Vpadd * Rebase on top of PTC. * Add Nopcode * Increment PTC version. * Fix nits.
2020-06-23Import DLC title key from ticket when loading into content manager (#1318)Xpl0itR
2020-06-23Remove profiled build task from AppVeyor (#1319)Thog
As it was removed on the website on https://github.com/Ryujinx/Ryujinx-Website/commit/fb46709fda8a1a9137647037fc0f6d8bd1103ef7, we don't need to build it anymore. This also cut the build time and allow us more flexibility for hotfixes if needed.
2020-06-23Implement dlc management window (#1313)Xpl0itR
* Implement dlc management window * reduce repetition * Implement per NCA toggling of DLC rather than per container
2020-06-22Copy the value of InputConfig to a new array before iterating (#1271)Xpl0itR
2020-06-22Fix regression caused by wrong SB descriptor offset (#1316)gdkchan
2020-06-22Update NRR structs (#1291)VolcaEM
* Update NRR structs This was based on Switchbrew page: switchbrew.org/wiki/NRR * Address review comments
2020-06-20Implement aoc:u and support loading AddOnContent (#1221)mageven
* Initial rebased AddOnContent support * Fix bounds calculation * Use existing GameCard in VFS per Xpl0itR's suggestion + Add dummy IPurchaseEventManager per AcK's suggestion * Support multiple containers * Add option to selectively disable addons * Import tickets from AOC FS * Load all nsps in base directory automatically * Revert LoadNsp renaming Removes conflicts with Mods PR. Not much is lost, old names were fine. * Address AcK's comments * Address Thog's comments Dispose opened nsp files Fix potential bug by clearing metadata on load
2020-06-20Update README.md (#1302)EmulationFanatic
* General updating/cleanup * Fixed firmware wording and unnecessary capitalization * Removed superfluous asterisk * Address Thog's comments, add config.json path * Fix line break * Address riperiperi's comments * Update screenshot to match Ryujinx.org website * Added PPTC blurb * Address gdkchan's comments * Clarify audio support * Fix line break * Remove extra . * Address Thog's comments Removed a few spaces on line 59 * Removed even more spaces.
2020-06-18Increment PTC version (#1311)Thog
Fix issues caused by https://github.com/Ryujinx/Ryujinx/commit/2421186d974446ef4183420c50bc37e58d9fe213
2020-06-18Generalize tail continues (#1298)Ficture Seven
* Generalize tail continues * Fix DecodeBasicBlock `Next` and `Branch` would be null, which is not the state expected by the branch instructions. They end up branching or falling into a block which is never populated by the `Translator`. This causes an assert to be fired when building the CFG. * Clean up Decode overloads * Do not synchronize when branching into exit block If we're branching into an exit block, that exit block will tail continue into another translation which already has a synchronization. * Remove A32 predicate tail continue If `block` is not an exit block then the `block.Next` must exist (as per the last instruction of `block`). * Throw if decoded 0 blocks Address gdkchan's feedback * Rebuild block list instead of setting to null Address gdkchan's feedback
2020-06-16Add Profiled Persistent Translation Cache. (#769)LDj3SNuD
* Delete DelegateTypes.cs * Delete DelegateCache.cs * Add files via upload * Update Horizon.cs * Update Program.cs * Update MainWindow.cs * Update Aot.cs * Update RelocEntry.cs * Update Translator.cs * Update MemoryManager.cs * Update InstEmitMemoryHelper.cs * Update Delegates.cs * Nit. * Nit. * Nit. * 10 fewer MSIL bytes for us * Add comment. Nits. * Update Translator.cs * Update Aot.cs * Nits. * Opt.. * Opt.. * Opt.. * Opt.. * Allow to change compression level. * Update MemoryManager.cs * Update Translator.cs * Manage corner cases during the save phase. Nits. * Update Aot.cs * Translator response tweak for Aot disabled. Nit. * Nit. * Nits. * Create DelegateHelpers.cs * Update Delegates.cs * Nit. * Nit. * Nits. * Fix due to #784. * Fixes due to #757 & #841. * Fix due to #846. * Fix due to #847. * Use MethodInfo for managed method calls. Use IR methods instead of managed methods about Max/Min (S/U). Follow-ups & Nits. * Add missing exception messages. Reintroduce slow path for Fmov_Vi. Implement slow path for Fmov_Si. * Switch to the new folder structure. Nits. * Impl. index-based relocation information. Impl. cache file version field. * Nit. * Address gdkchan comments. Mainly: - fixed cache file corruption issue on exit; - exposed a way to disable AOT on the GUI. * Address AcK77 comment. * Address Thealexbarney, jduncanator & emmauss comments. Header magic, CpuId (FI) & Aot -> Ptc. * Adaptation to the new application reloading system. Improvements to the call system of managed methods. Follow-ups. Nits. * Get the same boot times as on master when PTC is disabled. * Profiled Aot. * A32 support (#897). * #975 support (1 of 2). * #975 support (2 of 2). * Rebase fix & nits. * Some fixes and nits (still one bug left). * One fix & nits. * Tests fix (by gdk) & nits. * Support translations not only in high quality and rejit. Nits. * Added possibility to skip translations and continue execution, using `ESC` key. * Update SettingsWindow.cs * Update GLRenderer.cs * Update Ptc.cs * Disabled Profiled PTC by default as requested in the past by gdk. * Fix rejit bug. Increased number of parallel translations. Add stack unwinding stuffs support (1 of 2). Nits. * Add stack unwinding stuffs support (2 of 2). Tuned number of parallel translations. * Restored the ability to assemble jumps with 8-bit offset when Profiled PTC is disabled or during profiling. Modifications due to rebase. Nits. * Limited profiling of the functions to be translated to the addresses belonging to the range of static objects only. * Nits. * Nits. * Update Delegates.cs * Nit. * Update InstEmitSimdArithmetic.cs * Address riperiperi comments. * Fixed the issue of unjustifiably longer boot times at the second boot than at the first boot, measured at the same time or reference point and with the same number of translated functions. * Implemented a simple redundant load/save mechanism. Halved the value of Decoder.MaxInstsPerFunction more appropriate for the current performance of the Translator. Replaced by Logger.PrintError to Logger.PrintDebug in TexturePool.cs about the supposed invalid texture format to avoid the spawn of the log. Nits. * Nit. Improved Logger.PrintError in TexturePool.cs to avoid log spawn. Added missing code for FZ handling (in output) for fp max/min instructions (slow paths). * Add configuration migration for PTC Co-authored-by: Thog <me@thog.eu>
2020-06-14VABS takes one input register, not two. (#1300)riperiperi
2020-06-13Optimize texture format conversion, and MethodCopyBuffer (#1274)riperiperi
* Improve performance when converting texture formats. Still more work to do. * Speed up buffer -> texture copies. No longer copies byte by byte. Fast path when formats are identical. * Fix a few things, 64 byte block fast copy. * Spacing cleanup, unrelated change. * Fix base offset calculation for region copies. * Fix Linear -> BlockLinear * Fix some nits. (part 1 of review feedback) * Use a generic version of the Convert* functions rather than lambdas. This is some real monkey's paw shit. * Remove unnecessary span constructor. * Revert "Use a generic version of the Convert* functions rather than lambdas." This reverts commit aa43dcfbe8bba291eea4e10c68569af7a56a5851. * Fix bug with rectangle destination writing, better rectangle calculation for linear textures.
2020-06-09Change console log to discard on overflow (#1241)mageven
2020-06-06Stubbing ImportServerPki (#1281)Shrek5InTheatres2019
* Stubbed ImportServerPki * thought it might be nice to name this variable properly * i really need to name variables better * Change Var Co-authored-by: Thog <thog@protonmail.com> * Change .ReadBytes(5) to IPC send buffer Co-authored-by: Thog <thog@protonmail.com> * Add description comment Co-authored-by: Thog <thog@protonmail.com> * fix build issue * Resolve final suggestion Co-authored-by: Thog <thog@protonmail.com> * uhh * it should work now shut up * aligned variables just look so much nicer :) * better variable alignment * aligned Co-authored-by: Thog <thog@protonmail.com>
2020-06-05Faster crc32 implementation (#1294)merry
* Add Pclmulqdq intrinsic * Implement crc32 in terms of pclmulqdq * Address PR comments
2020-06-02SurfaceFlinger: fix some bugs (#1262)Thog
* SurfaceFlinger: fix some bugs This fixes some bugs in the current implementation and make it closer to the real implementation. * Fix align of some variables
2020-05-29Implement FIFO semaphore (#1286)gdkchan
* Implement FIFO semaphore * New enum for FIFO semaphore operation
2020-05-29Add new depth-stencil formats (#1284)gdkchan
2020-05-28Fix wrong face culling once and for all (#1277)gdkchan
* Viewport swizzle support on NV and clip origin * Initialize default viewport swizzle state, emulate viewport swizzle on shaders when not supported * Address PR feedback
2020-05-27Add FMaxNmV & FMinNmV Inst.s with Test. (#1279)LDj3SNuD
Successful unit testing on Windows (debug and release mode).
2020-05-27Support separate textures and samplers (#1216)gdkchan
* Support separate textures and samplers * Add missing bindless flag, fix SNORM format on buffer textures * Add missing separation * Add comments about the new handles
2020-05-27Omit image format if possible, and fix BA bit (#1280)gdkchan
* Omit image format if possible, and fix BA bit * Match extension name
2020-05-27Fix GetDesiredLanguage (#1275)mageven
* Fix GetDesiredLanguage * Correct tzcnt slip-up * Address gdkchan's comments
2020-05-27Fix GetDisplayVersion (#1276)mageven
2020-05-27Flush GL commands before inevitably waiting for a query result. (#1278)riperiperi