aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2022-01-21Stop using glTransformFeedbackVaryings and use explicit layout on the shader ↵gdkchan
(#3012) * Stop using glTransformFeedbackVarying and use explicit layout on the shader * This is no longer needed * Shader cache version bump * Fix gl_PerVertex output for tessellation control shaders
2022-01-20Add capability for BGRA formats (#3011)gdkchan
2022-01-19Implement FCVTNS (Scalar GP) (#2953)sharmander
* Implement FCVTNS (Scalar GP) * Update Ptc Version
2022-01-18Readme overhaul (#2988)Ayato (Shahil)
* Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Address gdk feedback * Address suggestion Co-authored-by: Luke Warner <65521430+LukeWarnut@users.noreply.github.com> * Address suggestion Co-authored-by: Luke Warner <65521430+LukeWarnut@users.noreply.github.com> * Address suggestion Co-authored-by: Luke Warner <65521430+LukeWarnut@users.noreply.github.com> * Address suggestion Co-authored-by: Luke Warner <65521430+LukeWarnut@users.noreply.github.com> * Address suggestion Co-authored-by: Luke Warner <65521430+LukeWarnut@users.noreply.github.com> * Update suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Update suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Update suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Update suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Update suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Address suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Address suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Address suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Address suggestion Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com> * Update README.md * Update README.md Co-authored-by: Luke Warner <65521430+LukeWarnut@users.noreply.github.com> Co-authored-by: SS <74042715+choppymaster@users.noreply.github.com>
2022-01-16Scale scissor used for clears (#3002)gdkchan
2022-01-16kernel: Fix deadlock when pinning in interrupt handler (#2999)Mary
* kernel: Fix deadlock when pinning in interrupt handler This fix a deadlock on DoDonPachi Resurrection when starting a new game * Address gdkchan's comment
2022-01-16Fix return type mismatch on 32-bit titles (#3000)gdkchan
2022-01-13ssl: Implement SSL connectivity (#2961)Mary
* implement certain servicessl functions * ssl: Implement more of SSL connection and abstract it This adds support to non blocking SSL operations and unlink the SSL implementation from the IPC logic. * Rename SslDefaultSocketConnection to SslManagedSocketConnection * Fix regression on Pokemon TV * Address gdkchan's comment * Simplify value read from previous commit * ssl: some changes - Implement builtin certificates parsing and retrieving - Fix issues with SSL version handling - Improve managed SSL socket error handling - Ensure to only return a certificate on DoHandshake when actually requested * Add missing BuiltInCertificateManager initialization call * Address gdkchan's comment * Address Ack's comment Co-authored-by: InvoxiPlayGames <webmaster@invoxiplaygames.uk>
2022-01-12bsd: Revamp API and make socket abstract (#2960)Mary
* bsd: Revamp API and make socket abstract This part of the code was really ancient and needed some love. As such this commit aims at separating the socket core logic from the IClient class and make it uses more modern APIs to read/write/parse data. * Address gdkchan's comment * Move TryConvertSocketOption to WinSockHelper * Allow reusing old fds and add missing locks around SocketInternal and ShutdownAllSockets * bsd: ton of changes - Make sockets per process - Implement eventfds - Rework Poll for support of eventfds - Handle protocol auto selection by type (used by gRPC) - Handle IPv6 socket creation * Address most of gdkchan comments * Fix inverted read logic for BSD socket read * bsd: Make Poll abstract via IBsdSocketPollManager * bsd: Improve naming of everything * Fix build issue from last commit (missed to save on VC) * Switch BsdContext registry to a concurrent dictionary * bsd: Implement socket creation flags logic and the non blocking flag * Remove unused enum from previous commit * bsd: Fix poll logic when 0 fds are present for a given poll manager and when timeout is very small (or 0) * Address gdkchan's comment
2022-01-12sfdnsres: Fix serialization issues (#2992)Mary
* sfdnsres: Fix serialization issues Fix a crash on Monster Hunter Rise * Address gdkchan's comments * Address gdkchan's comments
2022-01-12Update to LibHac 0.15.0 (#2986)Alex Barney
2022-01-11Fix render target clear when sizes mismatch (#2994)gdkchan
2022-01-11Fix adjacent 3d texture slices being detected as Incompatible Overlaps (#2993)riperiperi
This fixes some regressions caused by #2971 which caused rendered 3D texture data to be lost for most slices. Fixes issues with Xenoblade 2's colour grading, probably a ton of other games. This also removes the check from TextureCache, making it the tiniest bit smaller (any win is a win here).
2022-01-11account: Rework LoadIdTokenCache to auto generate a random JWT token (#2991)Mary
This improve correctness of that call while possibly spoofing possible recognizable patterns.
2022-01-11sfdnsres: Block communication attempt with NPLN servers (#2990)Mary
Seen on Monster Hunter Rise.
2022-01-10Implement IMUL, PCNT and CONT shader instructions, fix FFMA32I and HFMA32I ↵gdkchan
(#2972) * Implement IMUL shader instruction * Implement PCNT/CONT instruction and fix FFMA32I * Add HFMA232I to the table * Shader cache version bump * No Rc on Ffma32i
2022-01-10Fix sampled multisample image size (#2984)gdkchan
2022-01-09Texture Sync, incompatible overlap handling, data flush improvements. (#2971)riperiperi
* Initial test for texture sync * WIP new texture flushing setup * Improve rules for incompatible overlaps Fixes a lot of issues with Unreal Engine games. Still a few minor issues (some caused by dma fast path?) Needs docs and cleanup. * Cleanup, improvements Improve rules for fast DMA * Small tweak to group together flushes of overlapping handles. * Fixes, flush overlapping texture data for ASTC and BC4/5 compressed textures. Fixes the new Life is Strange game. * Flush overlaps before init data, fix 3d texture size/overlap stuff * Fix 3D Textures, faster single layer flush Note: nosy people can no longer merge this with Vulkan. (unless they are nosy enough to implement the new backend methods) * Remove unused method * Minor cleanup * More cleanup * Use the More Fun and Hopefully No Driver Bugs method for getting compressed tex too This one's for metro * Address feedback, ASTC+ETC to FormatClass * Change offset to use Span slice rather than IntPtr Add * Fix this too
2022-01-08Return error on DNS resolution when guest internet access is disabled (#2983)gdkchan
* Return error on DNS resolution when guest internet access is disabled * Log DNS lookup calls
2022-01-08Add support for render scale to vertex stage. (#2763)riperiperi
* Add support for render scale to vertex stage. Occasionally games read off textureSize on the vertex stage to inform the fragment shader what size a texture is without querying in there. Scales were not present in the vertex shader to correct the sizes, so games were providing the raw upscaled texture size to the fragment shader, which was incorrect. One downside is that the fragment and vertex support buffer description must be identical, so the full size scales array must be defined when used. I don't think this will have an impact though. Another is that the fragment texture count must be updated when vertex shader textures are used. I'd like to correct this so that the update is folded into the update for the scales. Also cleans up a bunch of things, like it making no sense to call CommitRenderScale for each stage. Fixes render scale causing a weird offset bloom in Super Mario Party and Clubhouse Games. Clubhouse Games still has a pixelated look in a number of its games due to something else it does in the shader. * Split out support buffer update, lazy updates. * Commit support buffer before compute dispatch * Remove unnecessary qualifier. * Address Feedback
2022-01-04CPU - Implement FCVTMS (Vector) (#2937)sharmander
* Add FCVTMS_V Implementation to Armeilleure * Fix opcode designation * Add tests * Amend Ptc version * Fix OpCode / Tests * Create Math.Floor helper method + Update implementation * Address gdk comments * Re-address gdk comments * Update ARMeilleure/Decoders/OpCodeTable.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Update Tests to use 2S (4S) and 2D Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-01-03sfdnsres: Implement NSD resolution (#2962)Mary
This fix a missing implementation usage of NSD on IResolver when requested on GetAddrInfoRequest* and GetHostByNameRequest*.
2022-01-03fix build id case issue for enabled cheats (#2970)Emmanuel Hansen
2022-01-03Implement analog stick range modifier (#2783)MutantAura
* adjust position vector + GUI * remove brackets * Update configuration * Update ConfigurationFileFormat.cs * rebase + review changes * spacing * revert deletion * fix profile loading * spacing * comment spacing