Commit graph

1873 commits

Author SHA1 Message Date
dakotachasesmith
324a37ed00 [EE_JIT64] Implement SLL/SRL/SRA 2019-04-17 23:35:20 -10:00
dakotachasesmith
00ea5564c8 [EE_JIT64] Optimize ANDI/ORI/XORI 2019-04-17 22:17:01 -10:00
dakotachasesmith
f3e67376c6 [EE_JIT64] Slight optimization for link operations 2019-04-17 22:01:36 -10:00
dakotachasesmith
c2d467429f [EE_JIT64] LUI optimization 2019-04-17 20:56:59 -10:00
dakotachasesmith
442ac5df7e [EE JIT]Implement SLTI/SLTIU, some cleanup 2019-04-17 20:36:16 -10:00
refractionpcsx2
b664d93c4d Always calculate LOD, only clamp mipmap level when disabled 2019-04-17 23:27:34 +01:00
refractionpcsx2
77a182a7a7 Missed something, whoops 2019-04-17 21:44:56 +01:00
refractionpcsx2
0dad26706c GS: Fixed a bug in CLAMP clamping 2019-04-17 21:20:43 +01:00
refractionpcsx2
463954ede2 MIPMAP fixes
Fixed slight inaccuracy in bilinear filtering
2019-04-17 20:50:55 +01:00
PSI-Rockin
21058c2891 Implement TLBP (used by Red Star)
Also remove some useless logging
2019-04-16 21:44:36 -04:00
refractionpcsx2
a8d4b47d1a Fixed bugs in MIPMAP calculation
Fixed some missing handling in texture function handling
2019-04-16 23:04:34 +01:00
refractionpcsx2
14e45c40b3 Move the GS lookup optimisation a little, could be a little faster in some situations 2019-04-16 21:26:07 +01:00
dakotachasesmith
11b8871df2 [EE_JIT64] Implement LUI 2019-04-16 01:47:29 -10:00
dakotachasesmith
edaef996ad Slight cleanup, implement ANDI/OR/XORI, slightly optimize ADDI(U) 2019-04-16 01:06:58 -10:00
dakotachasesmith
3653393557 Implement ADDIU, modify branch likely handling so it flushed correct registers back to EE state 2019-04-15 23:01:48 -10:00
dakotachasesmith
caa97da674 Change syscalls in interpreter/JIT so they work in either at the same time 2019-04-15 15:21:52 -10:00
refractionpcsx2
eacfd241c1 Fix bugs in GS optimization
Fix VS projects, which got a bit mangled
2019-04-16 01:34:53 +01:00
refractionpcsx2
fc782d758d Fixed bugs in new GS optimisation, hopefully still quicker 2019-04-16 00:11:44 +01:00
refractionpcsx2
93570bf1b6 Forgive me, I'm British :P 2019-04-15 23:43:51 +01:00
refractionpcsx2
a908889ec8 Fixed up EE/IOP timer edge cases
Fixed IOP timers not counting properly with external clock sources
Implemented IOP timers one shot
Fixed EE timer gated mode not starting on gate signal
Laid some groundwork for IOP timer gates
Removed an old unused timer functions
Fixed VU JIT bug causing crash when using whole program optimization
Fixed VIF0 bug where it didn't know about GIF so some of the FLUSH modes didn't work
Bump savestate version to handle new counter sizes
Optimized GS Texture Lookup to not do unnecessary lookups
Fixed a bug where magnification was being done when LOD = 0 instead of < 0
Added new "Release Optimized" profile for Visual Studio for extra performance
2019-04-15 23:41:30 +01:00
dakotachasesmith
ed6e76be3e [EE_JIT64] Implement framework for allocating/freeing any type of register (GPR/FPU/VU0i/VU0f) 2019-04-15 02:03:56 -10:00
dakotachasesmith
9f7750ca19 Fix bug with prepare_abi(_reg) flushing registers back to wrong address 2019-04-14 22:18:09 -10:00
dakotachasesmith
b8011088ed Implement VCALLMSR [UNTESTED} 2019-04-14 22:09:27 -10:00
dakotachasesmith
63270ccfe1 Add wait_for_VU0 flag, make VCALLMS set correct number of cycles if waiting on VU0 2019-04-14 21:16:14 -10:00
dakotachasesmith
49bc4f18df Remove clear interlock from VCALLMS, replace J(N)E emitter fns with JMPCC 2019-04-14 00:35:34 -10:00
dakotachasesmith
01975ec881 [EE_JIT64] Implement VCALLMS 2019-04-13 23:35:38 -10:00
dakotachasesmith
5a511a6cc8 Rewrite EE_JitTranslator::is_branch 2019-04-13 21:53:45 -10:00
dakotachasesmith
72b2ee351d [EE_JIT64] Streamline/optimize likely branches 2019-04-13 20:58:32 -10:00
dakotachasesmith
dcdd834d26 Halfway rewrite/streamline branches/jumps (still need to rewrite likely) 2019-04-13 20:33:08 -10:00
dakotachasesmith
f6589a94d9 Fix bug with CMOVCC16/32 not being able to access registers r8-r15 2019-04-13 19:51:25 -10:00
dakotachasesmith
bb44d23cf8 [Emitter x86] Implement CMOVCC, rest of SETCC instructions 2019-04-13 19:20:06 -10:00
PSI-Rockin
73ea118d1b Allow EI and DI to work in exception and error mode 2019-04-13 17:01:34 -04:00
Kojin
7d60218508 Rework GS threading (#198)
- Refactor some of the threading code so it's contained within the GraphicsSynthesizerThread class.
- Set wait_for_return and event_loop to use condition variables to prevent spinning the thread when there is no work to be done.
- Some general cleanup

Fixes #150
2019-04-13 15:58:47 -04:00
dakotachasesmith
e40defd601 [EE JIT] More various cleanup, check booleans as 8bit, test instead of cmp0 for bgez/bltz 2019-04-13 01:25:24 -10:00
PSI-Rockin
b5ff277fe9 Enforce kernel/supervisor/user modes for VTLB
Also print EE/IOP state when a fatal emulation error occurs
2019-04-12 20:01:46 -04:00
dakotachasesmith
24d23ca36b Various cleanup, halfway implement ADDI(U), make branches test 8-bit values instead of 16-bit 2019-04-12 13:43:36 -10:00
PSI-Rockin
30ff6f159f Make EE TLB remappable
Also fix fast boot bug where a string would be written to kernel memory
2019-04-12 15:04:44 -04:00
dakotachasesmith
8d49cd54c1 [EE_JIT] Treat BGTZL as BGTZL and not BGEZL... 2019-04-11 22:10:15 -10:00
dakotachasesmith
38588c9bc8 [EE JIT] syscall handling 2019-04-11 22:10:15 -10:00
dakotachasesmith
8109ef8277 [EE_JIT] Assign JALR link register as rd, not 2019-04-11 22:10:15 -10:00
dakotachasesmith
a180ffa653 [EE_JIT] Squash Jump(Indirect)+Link, some cleanup 2019-04-11 22:10:15 -10:00
dakotachasesmith
155d79ee85 [EE_JIT64] Implement BC0/1, fix bug concerning branch_on with syscall 2019-04-11 22:10:15 -10:00
dakotachasesmith
b611f86697 Squash Likely+Link+LinkLikely branches into one function 2019-04-11 22:10:15 -10:00
dakotachasesmith
0090824ce3 [EE_JIT64] Implement Syscall handling 2019-04-11 22:10:14 -10:00
dakotachasesmith
c12ac88b3f [EE_JIT64] Handle ERET interpret PC change in recompiled block 2019-04-11 22:10:14 -10:00
dakotachasesmith
dc9af9d4f9 [EE_JIT Translator] End block on ERET 2019-04-11 22:10:14 -10:00
dakotachasesmith
0cc45a3dff Handle ERET 2019-04-11 22:10:14 -10:00
dakotachasesmith
840d3aa6ce Reset likely_branch when recompiling new block 2019-04-11 22:10:14 -10:00
dakotachasesmith
5b478ab2e5 [EE_JIT64] Implement BGEZAL, BEGAZLL, BLTZAL, BLTZALL ops 2019-04-11 22:10:14 -10:00
dakotachasesmith
ccba53ecde [EE_JIT64] Implement BEQL, BGEZL, BGTZL, BLEZL, BLTZL, BNEL ops 2019-04-11 22:10:14 -10:00