Commit graph

1873 commits

Author SHA1 Message Date
Kojin
8e5e8040d1 implement PEXEH and PEXCH 2019-06-05 21:16:56 -04:00
Kojin
9f6850e4b1 add PSHUFHW to emitter 2019-06-05 19:36:08 -04:00
dakotachasesmith
a7d1a20db2 [EE_JIT64] MTSAH changes 2019-06-04 22:01:50 -10:00
dakotachasesmith
e35d0742f0 [EE_JIT64] (UNTESTED) Implement PDIVW 2019-06-04 22:00:10 -10:00
Souzooka
39dacf2385
Merge pull request #4 from tadanokojin/eejit
Parallel Adds yo
2019-06-04 17:08:29 -10:00
dakotachasesmith
f59642ef3e [EE_JIT64] Implement PSUB[B/H/W], PSUBU[B/H] 2019-06-04 17:04:11 -10:00
Kojin
799720ee8d implement PADDUH 2019-06-04 22:59:38 -04:00
Kojin
3522f0a717 implement PADDUB 2019-06-04 22:34:28 -04:00
Kojin
d87b0c8fb7 implement PADDH 2019-06-04 21:17:22 -04:00
Kojin
d6b5deda10 implement PADDW 2019-06-04 21:15:52 -04:00
Kojin
6b9bdf1fa7 implement PADDB 2019-06-04 21:12:00 -04:00
Souzooka
a520f66cb2
Merge pull request #3 from tadanokojin/eejit
MTSAB/MTSAH
2019-06-01 20:35:29 -10:00
Kojin
582a4b939d implement MTSAH 2019-06-02 02:31:10 -04:00
Kojin
bbe392577f implement MTSAB 2019-06-02 02:30:29 -04:00
Kojin
2df2b0484e implement DoublewordShiftLeftLogicalImm IR 2019-06-02 02:29:14 -04:00
dakotachasesmith
e552de7894 Merge branch 'eedynarec' of https://github.com/Souzooka/DobieStation into eedynarec 2019-05-31 19:49:46 -10:00
dakotachasesmith
b867eaca00 [EE_JIT64] Implement SWL/SWR/SDL/SDR 2019-05-31 19:49:32 -10:00
PSI-Rockin
f05bcf6b29 Added Highlight and Highlight2 to GS JIT
Converted triangle z interpolation to use doubles instead of floats (fixes Raw Danger option menu)
Added FBMASK, PABE, and additional frame/texture formats
Fixed bug in alpha test causing NEVER condition to not fail
Fixed unique texture wrapping modes 0x2 and 0x3
2019-05-31 18:27:09 -04:00
PSI-Rockin
4d049c134d Update with new GS scanline renderer 2019-05-29 19:49:53 -04:00
PSISP
6dfeee843e
Merge pull request #210 from water111/gs-performance
Convert render_triangle to use a scanline-based renderer with less FLOPS/pixel (represented by render_triangle2)
2019-05-29 19:40:01 -04:00
PSI-Rockin
60502252ef Added PSMCT16 and PSMCT8H to tex_lookup JIT
Fixed JIT texture modulation bug causing large positive colors to be clamped to black (added PSRLW for this purpose)
Added additional texel clamping mode
Added "extract lower 8 bits" COLCLAMP mode
Fixed tex_lookup state getting accidentally sign-extended, affecting block lookup
Fixed CSM2 lookup bug
2019-05-29 19:39:45 -04:00
PSI-Rockin
ddd7bc0484 Disable GS_JIT, not complete yet
oops
2019-05-29 13:03:55 -04:00
PSI-Rockin
83f91734fe tex_lookup JIT beginnings
Added a define to force functions to not be inlined (caused problems with ABI)
2019-05-28 19:32:17 -04:00
water111
9542fb7726 clean up code 2019-05-28 19:12:57 -04:00
water111
762d7e9b6d remove threading changes which are bad 2019-05-28 19:04:09 -04:00
dakotachasesmith
a035e6ca6c [EE_JIT] Remove instruction limit per block, increase max block size 16KB -> 512KB 2019-05-27 18:40:47 -10:00
dakotachasesmith
24cdd0f392 [EE_JIT] Increase block instruction limit from 100 to 1000
Let's see how this one goes
2019-05-27 02:23:54 -10:00
dakotachasesmith
2cd1956d27 [EE_JIT64] Free temporary registers before function calls in loads/stores
This prevents the temporary registers from being pointlessly stored on the stack. Additionally, I changed the behavior of free_[xmm/int]_reg so that freeing a non-scratchpad register should work if that were to ever be done.
2019-05-27 00:08:59 -10:00
dakotachasesmith
4a2f6ac5da [EE_JIT64] Conditional restoring of values in restore_[xmm/int]_regs 2019-05-26 23:20:55 -10:00
dakotachasesmith
d1856599f2 [EE_JIT64] Manage if XMM registers are stored on the stack and restore them only when needed 2019-05-26 22:32:47 -10:00
dakotachasesmith
e630668993 Emitter x86 - fix PEXTRW bug 2019-05-26 15:21:27 -10:00
dakotachasesmith
be41e79180 x86 Emitter - Fix emitter bug with PEXTR[W/D/Q] 2019-05-25 19:16:08 -10:00
Souzooka
e8b7796a14
Merge pull request #2 from water111/jit_cache_bug_fixes
Bug fixes to Jit Cache
2019-05-25 16:42:20 -10:00
water
11116c3dfc Bug fixes to Jit Cache
- bug found by Ziemas for loading savestates or switching games where an allocation that is immediately freed
  causes heap_usage to go to zero, triggering an assert, but this is actually fine and not an error

- weirdbeardgame has run into issues with the jit heap becoming full, so it now flushes itself when it is full
  rather than throwing an error
2019-05-25 22:36:18 -04:00
dakotachasesmith
45bdebaf18 [EE_JIT] Cache - Add defines to prevent unnecessary includes from windows.h, cache returns out of memory error instead of crashing 2019-05-25 11:34:50 -10:00
dakotachasesmith
8d4f5334e0 [EE_JIT64] Accurate handling of MAX.S/MIN.S/C.EQ.S/C.LE.S/C.LT.S 2019-05-25 10:55:18 -10:00
dakotachasesmith
5c737bce0d [EE_JIT64] Sign extend MULT[U] result 2019-05-25 00:30:38 -10:00
dakotachasesmith
c113c3419b Changes to new JIT Cache to allow it to compile on Windows 2019-05-24 23:23:52 -10:00
dakotachasesmith
61c07df1c6 Merge branch 'eedynarec' of https://github.com/Souzooka/DobieStation into eedynarec 2019-05-24 23:16:17 -10:00
dakotachasesmith
d4ff3c84d0 [EE_JIT64] Negative zero checks for c.lt.s, c.le.s, c.eq.s 2019-05-24 23:00:18 -10:00
Souzooka
e160adef41
Merge pull request #1 from water111/jitcache
added new jit cache, but memory protection is still not finished
2019-05-24 22:35:52 -10:00
dakotachasesmith
6eef857ca0 [EE_JIT64] Add checks for min.s(+0, -0) and max.s(+0, -0) 2019-05-24 22:22:43 -10:00
water
00acf18a9b added new jit cache, but memory protection is still not finished 2019-05-25 01:05:18 -04:00
dakotachasesmith
280291ce9a [EE_JIT64] Fix bug with MIN.S/MAX.S
Operations like MAX.S f00, f00, f03 would fail as f03 would be moved into the register allocated into f00, then it would max the same register against itself
2019-05-24 17:13:18 -10:00
dakotachasesmith
b266f14997 [EE_JIT64] Remove some COP2 ops (for now), fix emitter bugs with MOV8imm/CMP8reg 2019-05-23 19:18:21 -10:00
dakotachasesmith
6d80c08d04 [EE_JITTRANS] Fix edge case with block instruction limits 2019-05-23 16:21:01 -10:00
dakotachasesmith
b9539ca22e [EE_JITTRANS] Put limit of 100 instructions for a block 2019-05-23 15:39:41 -10:00
dakotachasesmith
24b3d300a9 [EE_JIT64] Support immediate offsets in prepare_abi_reg (for loading pointer offsets from regs) 2019-05-23 13:53:14 -10:00
dakotachasesmith
eab12d534a [EE_JIT64] Remove register flushing from SQ 2019-05-23 13:15:44 -10:00
dakotachasesmith
adc22356e3 [EE_JIT64] Remove alloc_abi_regs, remove EmotionEngine parameter from prep_abi/call_abi funcs 2019-05-22 23:01:01 -10:00