aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64
AgeCommit message (Collapse)Author
2018-06-18Add the FADDP (scalar) instructiongdkchan
2018-06-13Faster soft implementation of smulh and umulh (#134)riperiperi
* Faster soft implementation of smulh and umulh * smulh: Fixed mul with 0 acting like it had a negative result. * Use compliment for negative smulh result.
2018-06-12Implement Fabs_V (#146)Lordmau5
2018-06-09Move WriteBytes to AMemory, implement it with a Marshal copy like ReadBytes, ↵gdkchan
fix regression on address range checking
2018-06-08Small cleanup in AMemory and removed some unused usingsgdkchan
2018-06-08Do not inline the scalar vector load methods as a workaround to a .net JIT buggdkchan
2018-06-08Texture/Vertex/Index data cache (#132)gdkchan
* Initial implementation of the texture cache * Cache vertex and index data aswell, some cleanup * Improve handling of the cache by storing cached ranges on a list for each page * Delete old data from the caches automatically, ensure that the cache is cleaned when the mapping/size changes, and some general cleanup
2018-06-08ReadBytes function in AMemory, with cleaner range check. (#136)riperiperi
2018-06-04Force inline some of the vector read/write methodsgdkchan
2018-06-02Fix mistake on astc conversion, make some static methods that shouldn't be ↵gdkchan
public private, remove old commmented out code
2018-05-29Added support for more shader instructions and texture formats, fix swapped ↵gdkchan
channels in RGB565 and RGBA5551? texture formats, allow zero values on blending registers, initial work to build CFG on the shader decoder, update the BRA instruction to work with it (WIP)
2018-05-26Initial work to support AArch32 with a interpreter, plus nvmm stubs (not ↵gdkchan
used for now)
2018-05-23Fix wrong type on CMTST instructiongdkchan
2018-05-23Remove some calls generated on the CPU for inexistent intrinsic methodsgdkchan
2018-05-18Add scalar variants of FCVTZS/FCVTZU, fix a issue on Ryushadergdkchan
2018-05-11Add intrinsics support (#121)gdkchan
* Initial intrinsics support * Update tests to work with the new Vector128 type and intrinsics * Drop SSE4.1 requirement * Fix copy-paste mistake
2018-05-07NvServices refactoring (#120)gdkchan
* Initial implementation of NvMap/NvHostCtrl * More work on NvHostCtrl * Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind * Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb) * Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks * Remove now unused code, add comment about probably wrong result codes
2018-04-29Add Sqxtn_S, Sqxtn_V, Uqxtn_S, Uqxtn_V instructions and Tests (6). (#110)LDj3SNuD
* Update ILGeneratorEx.cs * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update CpuTestSimd.cs * Update CpuTestSimdReg.cs * Update CpuTest.cs * Update Pseudocode.cs * Update Instructions.cs * Update AInstEmitSimdArithmetic.cs * Update AInstEmitSimdArithmetic.cs * Update AInstEmitSimdArithmetic.cs
2018-04-25Update AOpCodeTable.cs (#108)LDj3SNuD
2018-04-25Add Cls_V, Clz_V, Orn_V instructions. Add 18 Tests: And_V, Bic_V, Bif_V, ↵LDj3SNuD
Bit_V, Bsl_V, Cls_V, Clz_V, Orn_V, Orr_V. (#104) * Update AOpCodeTable.cs * Update AInstEmitSimdLogical.cs * Update AInstEmitSimdArithmetic.cs * Update ASoftFallback.cs * Update AInstEmitAlu.cs * Update Pseudocode.cs * Update Instructions.cs * Update CpuTestSimdReg.cs * Update CpuTestSimd.cs
2018-04-24Improved logging (#103)gdkchan
2018-04-22Print guest stack trace on a few points that can throw exceptionsgdkchan
2018-04-22Stub a few services, add support for generating call stacks on the CPUgdkchan
2018-04-21Fix Addp_S in AOpCodeTable. Add 5 Tests: ADDP (scalar), ADDP (vector), ADDV. ↵LDj3SNuD
(#96) * Update AOpCodeTable.cs * Update Pseudocode.cs * Update Instructions.cs * Update CpuTestSimd.cs * Update CpuTestSimdReg.cs * Update Instructions.cs * Revert "Started to work in improving the sync primitives"
2018-04-20Add ADDHN{2}, RADDHN{2}, SUBHN{2}, RSUBHN{2} (vector) instructions. Add 8 ↵LDj3SNuD
Tests. (#92) * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update Pseudocode.cs * Update Instructions.cs * Update Bits.cs * Create CpuTestSimd.cs * Create CpuTestSimdReg.cs * Update CpuTestSimd.cs Provide a better supply of input values for the 20 Simd Tests. * Update CpuTestSimdReg.cs Provide a better supply of input values for the 20 Simd Tests. * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update CpuTestSimd.cs * Update CpuTestSimdReg.cs
2018-04-19Add SvcSetThreadActivity, tweak SignalProcessWideKey, add fmul32i shader ↵gdkchan
instructions and other small fixes
2018-04-19Fix Fmin/max and add vector version, add and modifying fmin/max tests (#89)MS-DOS1999
2018-04-18Add ABS (scalar & vector), ADD (scalar), NEG (scalar) instructions. (#88)LDj3SNuD
* Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update AOpCodeTable.cs
2018-04-12Add TRN1 & TRN2 (vector) instructions. Add 4 simple tests (4S, 8B). (#77)LDj3SNuD
* Update AOpCodeTable.cs * Update AInstEmitSimdMove.cs * Update CpuTestSimdMove.cs * Update AInstEmitSimdMove.cs * Update CpuTestSimdMove.cs
2018-04-11[CPU] Speed up translation a little bitgdkchan
2018-04-10[CPU] Fix CNT instructiongdkchan
2018-04-08Add FMUL (scalar, by element) instruction; add FRECPE, FRECPS (scalar & ↵LDj3SNuD
vector) instructions. Add 5 simple tests. (#74) * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update AInstEmitSimdHelper.cs * Update CpuTestSimdArithmetic.cs * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs
2018-04-06[CPU] Fix CBZ/CBNZ with 32 bits operandsgdkchan
2018-04-06[CPU] Fail early when the index/size of the vector is invalidgdkchan
2018-04-06Fix FRSQRTS and FCM* (scalar) instructionsgdkchan
2018-04-06Add FMLS (vector) instructiongdkchan
2018-04-05Add FRSQRTS and FCM* instructionsgdkchan
2018-04-05Implement Frsqrte_S (#72)Merry
* Implement Frsqrte_S * Implement Frsqrte_V * Add Frsqrte_S test
2018-04-04Add Faddp (vector) instructiongdkchan
2018-04-04HashSet is not thread safe, hopefully this fixes the CPU issue where it ↵gdkchan
throws a exception on Add
2018-04-04Add PRFM (unscaled) instructiongdkchan
2018-04-04Add FNEG (vector) instructiongdkchan
2018-03-30Fix 32-bits extended register instructions with 64-bits extensionsgdkchan
2018-03-30Enable all ld/st (single structure) instructionsgdkchan
2018-03-30Fix EXT/Widening instruction carrying garbage values on some cases, fix ABD ↵gdkchan
(it shouldn't accumulate, this is another variation of the instruction)
2018-03-30Add BIT instructiongdkchan
2018-03-30Add UABD instructiongdkchan
2018-03-30Add UABDL instructiongdkchan
2018-03-30Add UADDL instructiongdkchan
2018-03-30Add UHADD instructiongdkchan