Commit Graph

1132 Commits (d31a94f06b5d595e6dceafdd6a76a76455dd5ed6)

Author SHA1 Message Date
Tony Wasserka 17f31de364 Pica/VertexShader: Small optimization. 10 years ago
Tony Wasserka a664574ecb Pica/VertexShader: Be robust against invalid inputs.
More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that.
10 years ago
Tony Wasserka ad5db467d7 Pica/VertexShader: Clarify a comment. 10 years ago
Tony Wasserka 871418e62b Pica/DebugUtils: Further cleanups to LookupTexture. 10 years ago
Tony Wasserka 88e9efe4b8 Pica/DebugUtils: Fix two warnings. 10 years ago
Tony Wasserka 6e275778c9 Pica/DebugUtils: Better document LookupTexture. 10 years ago
Tony Wasserka e4e9710d18 Pica/Rasterizer: Get rid of C-style casts. 10 years ago
Tony Wasserka d81370682f Pica/DebugUtils: Make a number of variables static.
Makes for cleaner and faster code.
10 years ago
Tony Wasserka 6bd41de276 Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions. 10 years ago
Tony Wasserka 22afb9d830 Pica/VertexShader: Run instruction handlers according to the effective opcode.
This allows for proper emulation of the different CMP/LRP/MAD instructions.
10 years ago
Tony Wasserka cd163fb59a Pica/VertexShader: Implement MAX instructions. 10 years ago
Tony Wasserka aff808b2fd Pica: Add support for boolean uniforms. 10 years ago
Tony Wasserka 67618a2c55 Pica/VertexShader: Add support for MOVA, CMP and IFC. 10 years ago
Tony Wasserka cb1804e0ab Pica/VertexShader: Move code around a bit. 10 years ago
Tony Wasserka b85524c760 Pica/VertexShader: Some cleanups using std::array. 10 years ago
Tony Wasserka ce36ad454e Pica/VertexShader: Support negating src2. 10 years ago
Tony Wasserka cc5746abfe Pica/DebugUtils: Replace duplicated SHBIN structures in favor of nihstro's ones. 10 years ago
Tony Wasserka 8ce1d32460 Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones. 10 years ago
Tony Wasserka 79c29243ed Pica/DebugUtils: Add an event triggered after loading a vertex. 10 years ago
Tony Wasserka cd322e328e Pica/PrimitiveAssembly: Implement triangle strips. 10 years ago
Tony Wasserka 346012f29e Pica/CommandProcessor: Add a safety check for invalid (?) GPU configurations. 10 years ago
Tony Wasserka 1e960e9ee2 Pica/CommandProcessor: Fix vertex decoding if multiple memory areas are accessed for different attributes. 10 years ago
Tony Wasserka 1c972ef3b9 Add support for a ridiculous number of texture formats. 10 years ago
Tony Wasserka 40f123b7c0 Pica: Unify ugly address translation hacks. 10 years ago
Tony Wasserka 7e210e0229 Pica: Further improve Tev emulation. 10 years ago
Tony Wasserka 3df88d59b0 Pica: Merge texture lookup logic for DebugUtils and Rasterizer.
This effectively adds support for a lot texture formats in the rasterizer.
10 years ago
Tony Wasserka 0fba1d48a6 Pica: Implement texture wrapping. 10 years ago
Tony Wasserka c81f1a9ebc Pica/DebugUtils: Add support for RGBA8, RGBA5551, RGBA4 and A8 texture formats. 10 years ago
Tony Wasserka 782592e6d3 citra-qt: Fix invalid memory read upon program startup.
This was caused by the framebuffer display widget not checking whether we are actually in a valid emulation state or not.
10 years ago
Tony Wasserka fd2539121c Pica: Initial support for multitexturing. 10 years ago
Tony Wasserka 95be6a09b2 BitField: Add an explicit Assign method.
This is useful when doing crazy stuff like inheriting from BitField.
10 years ago
Tony Wasserka 8cd0d9c000 citra-qt: static-constify a map. 10 years ago
bunnei 2b0d7a1d29 Merge pull request #315 from chinhodado/master
Clean up some warnings
10 years ago
Chin e795692614 Clean up some warnings 10 years ago
Yuri Kunde Schlesner 82528ba7df Common: Add a clone of std::make_unique 10 years ago
Yuri Kunde Schlesner adee775f44 Kernel: Implement support for current thread pseudo-handle
This boots a few (mostly Nintendo 1st party) games further.
10 years ago
bunnei f1309e6bf0 Merge pull request #306 from Subv/even_more_savedata
SaveData: Added some documentation to FormatSaveData
10 years ago
Subv fc73bef692 FS_U: Added the command to the docs of SaveData functions 10 years ago
bunnei eb394ac0af Merge pull request #309 from chinhodado/patch-1
Properly erase/remove a DebuggerObserver
10 years ago
bunnei 245abb4125 Merge pull request #294 from lioncash/var
armemu: Narrow the scope of some variables in handle_v6_insn
10 years ago
bunnei dc5d1a9061 Merge pull request #305 from lioncash/paren
armemu: Get rid of bitwise parenthesis warnings
10 years ago
chinhodado d31c23e958 Properly erase/remove an observer 10 years ago
Lioncash 4b506cec01 armemu: Implement QASX and QSAX 10 years ago
Lioncash 0f3a6a161c armemu: Implement SMLSD 10 years ago
Lioncash 4a646ace1f dyncom: Implement UMAAL 10 years ago
bunnei 017e6a488e Merge pull request #302 from purpasmart96/flushshutup
GSP_GPU: Shut up FlushDataCache
10 years ago
Lioncash 00e8ec4a9e armemu: Implement USAD8 and USADA8 10 years ago
Lioncash 92c53fe522 armemu: Fix SSAT16
The lower-bound would never be negative like it should
10 years ago
Lioncash b9fc0b4b80 armemu: Clean up naming and formatting for SSAT16 10 years ago
purpasmart96 b2c64eb5ff GSP_GPU: Shut up FlushDataCache 10 years ago
bunnei 765dbabdb6 Merge pull request #308 from Subv/more_savedata
SystemSaveData: Fixed a typo that was segfaulting
10 years ago
Subv 78e0f36857 SystemSaveData: Fixed a typo that was segfaulting 10 years ago
bunnei 24b5e87279 Merge pull request #304 from lioncash/sflags
armemu: Set GE flags properly for SSUB16, SADD16, SSAX, and SASX.
10 years ago
bunnei 4959e3b2c0 Merge pull request #307 from lioncash/usat16
armemu: Fix USAT16.
10 years ago
bunnei c71f8840e5 Merge pull request #301 from Subv/more_savedata
SaveData: Implemented the SystemSaveData archive.
10 years ago
Subv f9472eda0a SystemSaveData: Added a TODO to move it to the NAND.
Maybe sometime when we actually implement that
10 years ago
Lioncash e683f654ce armemu: Fix lower-bounds clamping for USAT16 10 years ago
Subv 77f0cdfaf4 SaveData: Added some documentation to FormatSaveData
We still don't know what the other parameters do, but they appear to be very similar to those of FormatThisUserSaveData.
Most likely FormatThisUserSaveData is just an alias for FormatSaveData with LowPathType Empty
10 years ago
Lioncash 6b632bbe37 armemu: More concise names for USAT16-related variables 10 years ago
Lioncash eaae0ad502 armemu: Get rid of bitwise parenthesis warnings 10 years ago
Lioncash 4dc8eb40be armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX. 10 years ago
bunnei 8ac22e7efc Merge pull request #299 from lioncash/join
Combine SSUB16, SADD16, SASX, and SSAX.
10 years ago
Subv bec527fa24 SaveData: Implemented the SystemSaveData archive.
It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service.
10 years ago
bunnei 797efbde1a Merge pull request #298 from lioncash/flags
armemu: Unset GE flags for UADD8 if results are < 0x100
10 years ago
bunnei a968adf50e Merge pull request #295 from lioncash/umaal
armemu: Implement UMAAL
10 years ago
Lioncash 85c318078d armemu: Combine SSUB16, SADD16, SASX, and SSAX. 10 years ago
bunnei 075126247f Merge pull request #292 from lioncash/backports
Backport more skyeye fixes from 3dmoo
10 years ago
bunnei e00e303275 Merge pull request #297 from lioncash/ssub16
armemu: Fix SSUB16
10 years ago
bunnei 7bae450379 Merge pull request #185 from purpasmart96/mem_perm
Kernel: Add missing permissions
10 years ago
Subv ea9ce0fba7 Filesystem/Archives: Implemented the SaveData archive
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information

Got rid of the code duplication in File and Directory

Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.

FS_U: Use the correct error code when a file wasn't found
10 years ago
Lioncash 41fee1c940 armemu: Unset GE flags for UADD8 if results are < 0x100
Reference manual states these must be set to zero if this case is true.
10 years ago
Lioncash 58dc554733 armemu: Fix SSUB16
Broken from the same reason SADD16 was.

The lo part of the result should only be constructed from the lo halfwords of rm and rn.
The hi part of the result should only be constructed from the hi halfwords of rm and rn.
10 years ago
bunnei e6f440ea7f Merge pull request #293 from lioncash/sops
armemu: Fix SADD16
10 years ago
bunnei 3e9d4a7917 Merge pull request #287 from lioncash/qaddsub16
armemu: Join QADD16/QSUB16 and fix saturation clamping.
10 years ago
Lioncash 5820dba6b7 armemu: Implement UMAAL 10 years ago
Lioncash 2d91164bb9 armemu: Narrow the scope of some variables in handle_v6_insn
There's no reason to have these in the outer-most scope.
10 years ago
Lioncash 5289a496a7 armemu: Fix SADD16
The lo and hi parts of the result were being constructed as a result of hi and lo halfword intermixing from the rm and rn regs. However the lo part of the result should be constructed only from the lo halfwords of rm and rn, and the hi part of the result should only be constructed from the hi halfwords of rm and rn.
10 years ago
Normmatt 73211dc8fe armemu: Fix PKHTB 10 years ago
Normmatt 8045df14d2 armemu: Implement REVSH 10 years ago
Normmatt bc81cc9490 armemu: Fix UXTAB/UXTAH 10 years ago
Normmatt b5dbd6f2a2 armemu: Fix SXTAB 10 years ago
Normmatt efebd5589a armemu: Fix SXTAH 10 years ago
bunnei fdb4ef5210 Merge pull request #289 from lioncash/smops
Join SMUAD, SMUSD, and SMLAD ops. Also fix them as well.
10 years ago
bunnei ec9ac2f51a Merge pull request #290 from lioncash/vsub
armemu: Backport some VFP fixes from 3dmoo.
10 years ago
Normmatt 9c127f4a01 armemu: Fix FTOUI NaN sign. 10 years ago
Normmatt 2ed03c10e0 armemu: Fix FSUBS bug where NaN shouldn't be negated 10 years ago
Lioncash d5bcddb77c armemu: Fix SMUAD, SMUSD, and SMLAD
Wrong values were being multiplied together.
10 years ago
Lioncash 0f9e3baf39 armemu: Join SMUAD, SMUSD, and SMLAD 10 years ago
Lioncash 4c53799229 armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16. 10 years ago
Lioncash 49817e89d9 armemu: Join QADD16 and QSUB16 together.
The only difference between these ops is one adds and one subtracts. Everything is literally the same.
10 years ago
bunnei cdfa7157eb Merge pull request #286 from yuriks/msvc-fix
Comment out empty arrays causing compile errors in MSVC
10 years ago
Yuri Kunde Schlesner 082bf803ab Comment out empty arrays causing compile errors in MSVC 10 years ago
bunnei a8098187aa Merge pull request #285 from lioncash/uxtab16
armemu: Implement UXTAB16
10 years ago
bunnei cd2a31eaf4 Merge pull request #283 from yuriks/archive-refactor
Archive refactor
10 years ago
Yuri Kunde Schlesner 666f6deb47 Work around libstdc++'s lack of support for std::hash on enums 10 years ago
Yuri Kunde Schlesner 83e6e4ffec FS.Archive: Clean up treatment of archives and their handles
- Refactor FS::Archive internals to make Archive creation and lifetime
  management clearer.
- Remove the "Archive as a File" hack.
- Implement 64-bit Archive handles.
10 years ago
Yuri Kunde Schlesner 0931a42af0 Service.FS: Rename FileSys::File to FileBackend 10 years ago
Yuri Kunde Schlesner d51afab0bc Service.FS: Rename FileSys::Directory to DirectoryBackend 10 years ago
Yuri Kunde Schlesner 82fe821e87 Service.FS: Rename FileSys::Archive to ArchiveBackend 10 years ago
Yuri Kunde Schlesner f6153679b0 Service.FS: Do archive registration using IdCode instead of name 10 years ago