aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-22A32: Fix BLX and BXWritePC (#3151)merry
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-17PPTC version increment (#3139)gdkchan
2022-02-18Enable CPU JIT cache invalidation (#2965)gdkchan
* Enable CPU JIT cache invalidation * Invalidate cache on IC IVAU
2022-02-18Prefer texture over textureSize for sampler type (#3132)gdkchan
* Prefer texture over textureSize for sampler type * Shader cache version bump
2022-02-18Use BitOperations methods and delete now unused BitUtils methods (#3134)Berkan Diler
Replaces BitUtils.CountTrailingZeros/CountLeadingZeros/IsPowerOfTwo with BitOperations methods
2022-02-18Move kernel syscall logs to new trace log level (#3137)gdkchan
2022-02-18Implement/Stub mnpp:app service and some hid calls (#3131)Ac_K
* Implement/Stub mnpp:app service and some hid calls This PR Implement/Stub the `mnpp:app` service (closes #3107) accordingly to RE, which seems to do some telemetry for China region only, so everything is stubbed. This PR fixes some inconsistencies in the hid service too and stub EnableSixAxisSensorUnalteredPassthrough, IsSixAxisSensorUnalteredPassthroughEnabled, LoadSixAxisSensorCalibrationParameter, GetSixAxisSensorIcInformation calls (closes #3123 and closes #3124). * Addresses Thog review
2022-02-18Decoders: Add IOpCode32HasSetFlags (#3136)merry
2022-02-17Added trace log level (#3096)mlgatto
* added trace log level * use trace log level instead of debug ( #1547) * alignment #1547 * moved trace logs toggle at the bottom #1547 * bumped config file version #3096 * added migration step #3096 * setting moved to the dev section #1547 * performance warning displayed when trace is enabled #1547
2022-02-18Change ServiceNv map creation logs to the Debug level (#3058)Alex Barney
2022-02-17ARMeilleure: Thumb support (All T16 instructions) (#3105)merry
* Decoders: Add InITBlock argument * OpCodeTable: Minor cleanup * OpCodeTable: Remove existing thumb instruction implementations * OpCodeTable: Prepare for thumb instructions * OpCodeTables: Improve thumb fast lookup * Tests: Prepare for thumb tests * T16: Implement BX * T16: Implement LSL/LSR/ASR (imm) * T16: Implement ADDS, SUBS (reg) * T16: Implement ADDS, SUBS (3-bit immediate) * T16: Implement MOVS, CMP, ADDS, SUBS (8-bit immediate) * T16: Implement ANDS, EORS, LSLS, LSRS, ASRS, ADCS, SBCS, RORS, TST, NEGS, CMP, CMN, ORRS, MULS, BICS, MVNS (low registers) * T16: Implement ADD, CMP, MOV (high reg) * T16: Implement BLX (reg) * T16: Implement LDR (literal) * T16: Implement {LDR,STR}{,H,B,SB,SH} (register) * T16: Implement {LDR,STR}{,B,H} (immediate) * T16: Implement LDR/STR (SP) * T16: Implement ADR * T16: Implement Add to SP (immediate) * T16: Implement ADD/SUB (SP) * T16: Implement SXTH, SXTB, UXTH, UTXB * T16: Implement CBZ, CBNZ * T16: Implement PUSH, POP * T16: Implement REV, REV16, REVSH * T16: Implement NOP * T16: Implement LDM, STM * T16: Implement SVC * T16: Implement B (conditional) * T16: Implement B (unconditional) * T16: Implement IT * fixup! T16: Implement ADD/SUB (SP) * fixup! T16: Implement Add to SP (immediate) * fixup! T16: Implement IT * CpuTestThumb: Add randomized tests * Remove inITBlock argument * Address nits * Use index to handle IfThenBlockState * Reduce line noise * fixup * nit
2022-02-17misc: Update GtkSharp.Dependencies and speed up initial Windows build (#3128)Mary
Update GtkSharp.Dependencies to fix between menu flickering and enable the SkipInstallGtk in csproj to avoid downloading unused GTK3 install locally.
2022-02-17Use ReadOnlySpan<byte> compiler optimization for static data (#3130)Berkan Diler
2022-02-17Use a basic cubic interpolation for the audren upsampler (#3129)riperiperi
Before, it was selecting nearest neighbour, which sounded terrible. This is likely temporary til the upsampling algorithm used by the switch is reversed. Fixes bad audio in Skyward Sword HD.
2022-02-16amadeus: Fix PCMFloat datasource command v1 (#3127)Mary
Really simple copy pasta error here. Shouldn't affect anything as float support was added at the same REV as datasource command v2.
2022-02-16Do not allow render targets not explicitly written by the fragment shader to ↵gdkchan
be modified (#3063) * Do not allow render targets not explicitly written by the fragment shader to be modified * Shader cache version bump * Remove blank lines * Avoid redundant color mask updates * HostShaderCacheEntry can be null * Avoid more redundant glColorMask calls * nit: Mask -> Masks * Fix currentComponentMask * More efficient way to update _currentComponentMasks
2022-02-16amadeus: Fix limiter correctness (#3126)Mary
This fixes missing audio on Nintendo Switch Sports Online Play Test.
2022-02-16When copying linear textures, DMA should ignore region X/Y (#3121)gdkchan
2022-02-16Adjusting how deadzones are calculated (#3079)skrek
* Making deadzones feel nice and smooth + adding rider files to .gitignore * removing unnecessary parentheses and fixing possibility of divide by 0 * formatting :) * fixing up ClampAxis * fixing up ClampAxis
2022-02-13Use Enum and Delegate.CreateDelegate generic overloads (#3111)Berkan Diler
* Use Enum generic overloads * Remove EnumExtensions.cs * Use Delegate.CreateDelegate generic overloads
2022-02-11InstEmitMemory32: Literal loads always have word-aligned PC (#3104)merry
2022-02-11Fix missing geometry shader passthrough inputs (#3106)gdkchan
* Fix missing geometry shader passthrough inputs * Shader cache version bump
2022-02-11Ship SoundIO library only for the specified runtime (#3103)edisionnano
* Add RuntimeIdentifers properties For Linux, Windows and OS X x86-64 This ensures that the SoundIO project gets this property when built as a subproject * Address gdkchan's nit Merge tags into one
2022-02-09Add a limit on the number of uses a constant may have (#3097)gdkchan
2022-02-09misc: Make PID unsigned long instead of long (#3043)Mary
2022-02-08ARMeilleure: A32: Implement SHSUB8 and UHSUB8 (#3089)merry
* ARMeilleure: A32: Implement UHSUB8 * ARMeilleure: A32: Implement SHSUB8
2022-02-07fix headless sdl2 option string (#3093)wss445566
2022-02-06Convert the bool to a lowercase string (#3080)edisionnano
mesa_glthread doesn't accept PascalCase input
2022-02-06ARMeilleure: A32: Implement SHADD8 (#3086)merry
2022-02-06ARMeilleure: OpCodeTable: Add CMN (RsReg) (#3087)merry
2022-02-02Try to ensure save data always has a valid owner ID (#3057)Alex Barney
- Run the extra data fix in FixExtraData on non-system saves that have no owner ID. - Set the owner ID in the dummy application control property if an application doesn't have a proper one available.
2022-01-31Fix the pronunciation of Ryujinx (#3059)Alex Barney
2022-01-31Fix bug that could cause depth buffer to be missing after clear (#3067)gdkchan
2022-01-30Remove Appveyor from Readme and SLN (#3026)VocalFan
* Replace Appveyor with Github badge. * Delete appveyor.yml * Remove Appveyor from SLN
2022-01-29Fix small precision error on CPU reciprocal estimate instructions (#3061)gdkchan
* Fix small precision error on CPU reciprocal estimate instructions * PPTC version bump
2022-01-29kernel: A bit of refactoring and fix GetThreadContext3 correctness (#3042)Mary
* Start refactoring kernel a bit and import some changes from kernel decoupling PR * kernel: Put output always at the start in Syscall functions * kernel: Rewrite GetThreadContext3 to use a structure and to be accurate * kernel: make KernelTransfer use generic types and simplify * Fix some warning and do not use getters on MemoryInfo * Address gdkchan's comment * GetThreadContext3: use correct pause flag
2022-01-27Add timestamp to 16-byte/4-word semaphore releases. (#3049)riperiperi
* Add timestamp to 16-byte semaphore releases. BOTW was reading a ulong 8 bytes after a semaphore return. Turns out this is the timestamp it was trying to do performance calculation with, so I've made it write when necessary. This mode was also added to the DMA semaphore I added recently, as it is required by a few games. (i think quake?) The timestamp code has been moved to GPU context. Check other games with an unusually low framerate cap or dynamic resolution to see if they have improved. * Cast dma semaphore payload to ulong to fill the space * Write timestamp first Might be just worrying too much, but we don't want the applcation reading timestamp if it sees the payload before timestamp is written.
2022-01-27Fix res scale parameters not being updated in vertex shader (#3046)riperiperi
This fixes an issue where the render scale array would not be updated when technically the scales on the flat array were the same, but the start index for the vertex scales was different.
2022-01-25Convert Octal-Mode to Decimal (#3041)edisionnano
Apparently C# doesn't use 0 as a prefix like C does.
2022-01-24Fix regression on PR builds version number since new release systemMary
2022-01-24Fix calls passing V128 values on Linux (#3034)gdkchan
* Fix calls passing V128 values on Linux * PPTC version bump
2022-01-23amadeus: Fix possible device sink input out of bound (#3032)Mary
This fix an out of bound when indexing inputs for games that uses unsupported values (8 here) Close #2724.
2022-01-23Set _vibrationPermitted to True by default (#2985)Mary
Co-authored-by: SpookyBee123 <82302189+SpookyBee123@users.noreply.github.com>
2022-01-22Add support for BC1/2/3 decompression (for 3D textures) (#2987)gdkchan
* Add support for BC1/2/3 decompression (for 3D textures) * Optimize and clean up * Unsafe not needed here * Fix alpha value interpolation when a0 <= a1
2022-01-22Address comment from gdkchan: we are starting at 1.1.3 nowMary
2022-01-22Add new release systemMary
As AppVeyor took our project down and deleted it without any comments, we are switching to GitHub Releases earlier than anticipated. This isn't the most elegant design (and I would have prefered having a release manifest in place) but this will do for now. The concept of release channel was also defined with this change. The new base version is now 1.1.x to avoid confusion with older system. Standard test CI was disabled temporarly and may be chained later as a CI job after the release job. Users are expected to redownload the emulator to be sure to be up to date. PS: If someone from AppVeyor read this, thanks again for ruining my week-end, I will be sure to NEVER recommend you to anyone. Best Regards, Mary.
2022-01-21Fix deadlock for GPU counter report when 0 draws are done (#3019)riperiperi
This fixes a rare bug where reporting a counter for a region containing 0 draws could deadlock the GPU. If this write overlaps with a tracking action, then the GPU could end up waiting on something that it's meant to do in the future, so it would just get stuck. Before, this reported immediately and wrote the result to guest memory (tracked) from the backend thread. The backend thread cannot be allowed to trigger read actions that wait on the GPU, as it will end up waiting on itself, and never advancing. In the case of backend multithreading's `SyncMap`, it would try to wait for a backend sync object that does not yet exist, as the sync object would exist according to the GPU and tracking, but it has not yet been created by the backend (and never will be, since it's stuck). The fix is to queue the 0 draw event just like any other, its _bufferMap value is just forced to 0. This affects games that use Conditional Rendering: SMO, Splatoon 2, MK8. Was generally indicated by a red message in log saying that the query result timed out after 5000 tries, but not always the cause.
2022-01-21Add host CPU memory barriers for DMB/DSB and ordered load/store (#3015)gdkchan
* Add host CPU memory barriers for DMB/DSB and ordered load/store * PPTC version bump * Revert to old barrier order