Commit graph

1871 commits

Author SHA1 Message Date
dakotachasesmith
2506d819b5 [EE_JIT64] Fix bug where the result of a load could be trashed if a register was flushed before RAX was used 2019-05-22 01:19:49 -10:00
dakotachasesmith
692e2a9afc [EE_JIT64] Add LQ/SQ back, with flush caveats 2019-05-21 00:45:08 -10:00
dakotachasesmith
798fba1f6c [EE_JIT64] Preallocate space on the stack for utility and regs 2019-05-20 20:57:55 -10:00
PSI-Rockin
24973db7ce Add alpha blending to GS JIT
Reorganize some of the JIT code to be easier to read
Added several SSE emitter instructions
2019-05-20 20:56:34 -04:00
PSI-Rockin
99a6af405c Fixed emitter bugs in CMP and MOVSS
Added basic color functionality to GS JIT (3stars now works)
Commented out syscall logging
2019-05-20 13:14:25 -04:00
dakotachasesmith
b434215ee8 Merge branch 'eedynarec' of https://github.com/Souzooka/DobieStation into eedynarec 2019-05-19 00:35:14 -10:00
dakotachasesmith
b480abc807 [EE_JIT64] No longer preserve XMM, ignore L[W/D][L/R] 2019-05-18 21:57:46 -10:00
PSI-Rockin
75c7400def Some additional work on draw_pixel 2019-05-18 18:29:43 -04:00
dakotachasesmith
a61bb7978b Merge branch 'eedynarec' of https://github.com/Souzooka/DobieStation into eedynarec 2019-05-17 06:21:03 -10:00
dakotachasesmith
56cf8d6520 [EE_JIT64] Tentative call_abi_func changes which preserve all registers 2019-05-17 06:20:00 -10:00
PSI-Rockin
ed78822253 Fix a quick oopsie 2019-05-16 16:01:54 -04:00
dakotachasesmith
cd99cd6a06 [EE_JIT64] Implement LWL/LWR/LDL/LDR 2019-05-15 23:01:45 -10:00
dakotachasesmith
4b2e05d2b6 [EE_JIT] Add debug field opcode to IR instructions, some IR cleanup 2019-05-15 15:33:00 -10:00
dakotachasesmith
783f59aab0 [EE_JIT] Make LWC1/SWC1 IR consistent with other loads/stores 2019-05-15 14:38:38 -10:00
dakotachasesmith
643e763f16 [EE_JIT64] Implement PPACB/H/W 2019-05-15 01:48:31 -10:00
dakotachasesmith
a0fcc5186b [EE_JIT64] Slight optimization of PNOR 2019-05-14 13:16:38 -10:00
dakotachasesmith
a9197158e1 [EE_JIT64] More thorough JITCACHE invalidation, PAND/PNOR/POR/PXOR implemented 2019-05-14 12:54:06 -10:00
dakotachasesmith
4b6f7f0ae2 [EE_JIT64] Wait for VU0 for every COP2 instruction 2019-05-13 12:09:14 -10:00
dakotachasesmith
93a78a4822 [EE_JIT64] Implement waiting for VU0 to stop running for first macro instruction in block 2019-05-13 02:21:15 -10:00
dakotachasesmith
0eb65f1db3 [EE_JITTRANS] Modify translate functions to act upon a vector of instructions instead of returning single instruction 2019-05-12 11:23:41 -10:00
dakotachasesmith
2a18438958 [EE_JIT64] Implement wait_for_vu0 fn, have all existing COP2 ops wait 2019-05-12 10:17:28 -10:00
dakotachasesmith
a5c8cef0d0 [EE_JIT64] Implement VABS (untested) 2019-05-12 10:02:02 -10:00
dakotachasesmith
2ce1d0b0e6 [EE_JIT64] Implement VMUL, do ops for VADD/VSUB even if destination is zero... 2019-05-11 14:41:04 -10:00
dakotachasesmith
a76c6e1236 [EE_JIT64] Implement VSUB 2019-05-11 12:23:27 -10:00
dakotachasesmith
6eed66eae2 [EE_JIT64] VADD now updates MAC flags 2019-05-10 09:24:13 -10:00
dakotachasesmith
ed7459a6f4 [EE_JIT64] Implement VADD + COP2 helpers, lots of various cleanup 2019-05-10 08:45:27 -10:00
dakotachasesmith
f08a8d3148 [EE_JIT64] Implement LQC2/SQC2, shuffle some EE JIT helper functions around 2019-05-09 14:58:52 -10:00
dakotachasesmith
a08bc36bba [EE_JIT64] Remove use of temp register in clamp_freg 2019-05-09 08:37:11 -10:00
dakotachasesmith
9f5a048ac9 Removed register flushing from SQ which never existed, really 2019-05-09 08:29:12 -10:00
dakotachasesmith
08abadb703 [EE_JIT64] Implement SQ 2019-05-09 08:25:33 -10:00
dakotachasesmith
6a130d9006 [EE_JIT64] Implement LQ 2019-05-05 22:46:03 -10:00
dakotachasesmith
7eea2528d6 [EE_JIT64] Remove VU0 recompilation 2019-05-05 10:39:44 -10:00
dakotachasesmith
1cedcdd880 [EE_JIT64] Fix call with VCALLMSR where VU instance was not passed to start_program 2019-05-05 07:43:35 -10:00
dakotachasesmith
215e428fee [EE_JIT64] Support self-modifying code written using EE 2019-05-05 06:36:27 -10:00
dakotachasesmith
262a31b740 [EE_JIT64] Implement BC2 2019-05-04 07:56:18 -10:00
dakotachasesmith
bb0727f472 [EE_JIT64] clamp_freg changes 2019-05-04 06:48:13 -10:00
dakotachasesmith
1423dbcf71 [EE_JIT64] (untested) Implement RSQRT.S 2019-05-03 22:33:26 -10:00
dakotachasesmith
ddd4ea0129 [EE_JIT64] Implement LWC1/SWC1 2019-05-03 22:04:16 -10:00
dakotachasesmith
9a9f851b66 [EE_JIT64] Implement DIV.S 2019-05-03 20:55:37 -10:00
dakotachasesmith
492e4f3492 [EE_JIT64] implement CVT.W.S edge cases 2019-05-03 17:21:32 -10:00
dakotachasesmith
8592bde0c5 [EE_JIT64] Implement MADD.S/MADDA.S/MSUB.S/MSUBA.S 2019-05-03 00:50:22 -10:00
dakotachasesmith
2a717386ae [EE_JIT64] Implement CVT.S.W/CVT.W.S 2019-05-03 00:09:05 -10:00
dakotachasesmith
ebfd94d6ee [EE_JIT] Implement C.LT.S/C.LE.S 2019-05-02 23:17:35 -10:00
dakotachasesmith
08621440cd [EE_JIT] Implement C.F.S/C.EQ.S 2019-05-02 22:34:09 -10:00
water
dd4baecee6 Merge remote-tracking branch 'upstream/master' into gs-performance 2019-05-02 21:09:56 -04:00
water
2348badaf0 fix scissor rounding 2019-05-02 21:06:11 -04:00
PSI-Rockin
57cf68ba90 Fully implement depth test and add hardcoded color output to draw_pixel
Also added some macros to disable GS JIT functionality
Also also fixed a bug preventing homebrew from being loaded
2019-05-02 13:52:31 -04:00
PSI-Rockin
580ed59ade Add alpha test and partial depth test to GS JIT
Still not capable of actually drawing anything yet - swizzling functions need to be redesigned for that to work in the JIT
2019-05-01 18:52:35 -04:00
PSI-Rockin
3c699f9668 Start of GS draw_pixel JIT
Also fixed minor LOD lookup table bug
2019-05-01 13:28:45 -04:00
PSI-Rockin
5c4ecc8603 Fix some SPU bugs
Also move IOP interrupt execution 4 bytes ahead to prevent executing 0x8000007C (which caused unnecessary cache misses)
2019-05-01 11:28:55 -04:00